我遇到以下问题时遇到了一些麻烦:
SELECT * FROM SaleItems WHERE SalesID = (SELECT SaleID FROM Sale WHERE TotalPrice > (SELECT AVG(TotalPrice) FROM Sale))
查询的第二部分:
SELECT SaleID FROM Sale WHERE TotalPrice > (SELECT AVG(TotalPrice) FROM Sale)
返回5个条目。
但是,当我运行第一个查询时,我只得到一个结果。它仅基于查询的第二部分中的第一结果的WHERE。
我该如何解决这个问题?我希望第一个查询返回SalesID所在的所有第二部分返回的5个SaleID中的任何,而不仅仅是第一行。
答案 0 :(得分:2)
使用IN
:
SELECT * FROM SaleItems WHERE SalesID IN (SELECT SaleID FROM Sale WHERE TotalPrice > (SELECT AVG(TotalPrice) FROM Sale))