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(*)
留下我的答案,以防对别人有帮助。也许社区可以提供更好的答案