SQL查询帮助:基于另一个选择仅选择返回一行

时间:2015-04-08 02:46:08

标签: sql sqlite

我遇到以下问题时遇到了一些麻烦:

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中的任何,而不仅仅是第一行。

1 个答案:

答案 0 :(得分:2)

使用IN

SELECT * FROM SaleItems WHERE SalesID IN (SELECT SaleID FROM Sale WHERE TotalPrice > (SELECT AVG(TotalPrice) FROM Sale))
相关问题