Postgresql 查询其中所有关联记录的属性值均为X
我有一个计算关联记录和关联状态的查询Postgresql 查询其中所有关联记录的属性值均为X,postgresql,relational-division,Postgresql,Relational Division,我有一个计算关联记录和关联状态的查询 SELECT orders.id, SUM(CASE WHEN s.shipment_status='CLOSED' THEN 1 ELSE 0 END) as closed, COUNT(*) as shipment_count FROM orders as po JOIN shipments as s ON s.order_id = po.id GROUP BY po.id 我正在尝试查询所有订单,其中所有装运已关闭 从本质上看,当关闭=
SELECT
orders.id,
SUM(CASE WHEN s.shipment_status='CLOSED' THEN 1 ELSE 0 END) as closed,
COUNT(*) as shipment_count
FROM orders as po
JOIN shipments as s ON s.order_id = po.id
GROUP BY po.id
我正在尝试查询所有订单,其中所有装运已关闭
从本质上看,当关闭=装运计数时返回
如果我在join中添加一个和子句,那么它只会限制装运的数量。我通过一个HAVING
子句解决了这个问题,该子句不使用select ATTR
SELECT
orders.id
FROM orders as po
JOIN shipments as s ON s.order_id = po.id
GROUP BY po.id
HAVING SUM(CASE WHEN s.shipment_status='CLOSED' THEN 1 ELSE 0 END) = COUNT(*)
留下我的答案,以防对别人有帮助。也许社区可以提供更好的答案