Я пытаюсь получить имя ID и USER из одного запроса, но в то же время я ищу в своем предложении WHERE, если ID существует в другой таблице. Я получил сообщение об ошибке:SQL однострочный подзапрос возвращает более одной строки?
ORA-01427: single-row subquery returns more than one row
Вот как мой взгляд запроса:
SELECT s.ID, s.LASTFIRST
From USERS s
Left Outer Join CALENDAR c
On s.ID = c.USERID
Where c.SUPERVISOR = '103'
And TO_CHAR(c.DATEENROLLED,'fmmm/fmdd/yyyy') >= '4/22/2016'
And TO_CHAR(c.DATELEFT,'fmmm/fmdd/yyyy') <= '4/22/2016'
And s.ID != (SELECT USER_ID
From RESERVATIONS
Where EVENT_ID = '56')
Моего запрос внутри, где положение возвращает два идентификаторы: 158 и 159 так что эти два не должен быть возвращены в моем запросе, где я Я ищу s.ID и s.LASTFIRST. Что может вызвать эту ошибку?
Спасибо вам @Aron D. Я пытался использовать НЕ СУЩЕСТВУЕТ, но это не сработало. NOT IN отлично работает. –
'не в' медленно. Есть более быстрые способы выполнения одного и того же. –
@ user3023588 Обновленный ответ для 'не существует' –