我试图从一个查询中获取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')
我的where子句返回两个ID的内部查询:158和159因此这两个不应该在我的查询返回,我正在寻找s.ID和s.LASTFIRST。什么可能导致这个错误?的!=
!=
或=
谢谢@Aron D.我试图用NOT EXISTS,但没有奏效。不在工作正常。 –
'不在'是缓慢的。有更快的方法来完成同样的事情。 –
@ user3023588最新回答'not exist' –