Ich versuche, ID und USER-Namen von einer Abfrage zu erhalten, aber zur gleichen Zeit schaue ich in meiner WHERE-Klausel, wenn ID in einer anderen Tabelle vorhanden sind. Ich habe Fehler:SQL einreihige Unterabfrage gibt mehr als eine Zeile zurück?
ORA-01427: single-row subquery returns more than one row
Hier ist, wie meine Abfrage aussehen:
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')
Meine Abfrage innerhalb der where-Klausel gibt zwei IDs: 158 und 159 so sollten diese beiden nicht in meiner Abfrage zurückgegeben werden, wo ich Ich suche am und am Lasfirst. Was könnte diesen Fehler verursachen?
Danke @Aron D. Ich versuchte, nicht zu verwenden VORHANDEN aber das hat nicht funktioniert. NICHT IN funktioniert gut. –
'nicht in' ist langsam. Es gibt schnellere Möglichkeiten, dasselbe zu erreichen. –
@ user3023588 Aktualisierte Antwort für 'nicht existiert' –