如何使用一个查询获取不同ID的列表,然后将此列表作为参数提供给Postgres中的另一个查询。
(SELECT DISTINCT id FROM inventory WHERE supplier_id = 37) AS idlist
(SELECT SUM(item_price) FROM transaction WHERE person_id IN (idlist)) AS output
如何使用一个查询获取不同ID的列表,然后将此列表作为参数提供给Postgres中的另一个查询。
(SELECT DISTINCT id FROM inventory WHERE supplier_id = 37) AS idlist
(SELECT SUM(item_price) FROM transaction WHERE person_id IN (idlist)) AS output
2条答案
按热度按时间ddhy6vgd1#
您可以只使用SELECT DISTINCT ....查询作为第二个查询的IN()条件中的子查询。
即:
而且,在这种情况下,在该子查询中并不特别需要DISTINCT关键字
2w2cym1i2#
您可以使用
IN
和子查询,就像克雷格的答案一样但是如果子查询的
id
列表非常大,最好使用EXISTS