当我试图运行这段代码时,我得到了这个错误消息
select *
from Folio_Guest
where FolioID = (
select *
from Folio
where ArrivalDate between '20190101' and '20210901'
)
子查询最多只需要返回一行和一列。也许你打算这样做:
select fg.*
from Folio_Guest fg
where fg.FolioID in (select f.folioID
from Folio f
where ArrivalDate between '20190101' and '20210901'
);
重要的变化如下:
- 子查询只返回一列,该列应该与
folioID
匹配。 - 比较使用
in
而不是=
,因此它可以匹配多行,如果合适的话。