sql使用EXISTS查询子表多条的总金额等于0
可以使用以下SQL语句实现:
SELECT p.order_id
FROM orders p
WHERE NOT EXISTS (
SELECT 1
FROM order_items c
WHERE c.order_id = p.order_id
AND c.amount <> 0
)
GROUP BY p.order_id
HAVING SUM(p.amount) = 0;
这段代码的含义是查找订单中所有子项的金额都为0的订单,并返回这些订单的ID和总金额。具体实现方式是使用EXISTS子查询来筛选出订单子项中金额不为0的记录,然后对这些订单ID进行分组,并使用HAVING子句来筛选出总金额为0的订单。
原文地址: https://www.cveoy.top/t/topic/fseF 著作权归作者所有。请勿转载和采集!