繁体   English   中英

Select 当按 ID 分组的 colA 的总和大于按 ID 分组的表 2 中 colB 的总和时,表 1 的行

[英]Select rows of table 1 when sum of colA grouped by ID is bigger than sum of colB in table 2 grouped by ID

我们有一张出售商品的表格,如下所示:(表 A)

ID 销售编号 物品 数量
11 5 一个 3000
12 5 2000
13 6 一个 5120
14 7 C 5000

和一张放置已发货物品的表格,如下所示:(表 B)

ID sub_id 物品 数量
1 11 一个 2850
2 11 一个 150
3 12 2100

(通过将表 B 中的 TableA.id 引用为 sub_id ,表 B 与表 A 匹配)。

我想找到每个 TableA.id 的金额总和不等于每个 TableB.sub_id 的 TableB.amount 的总和的行。

换句话说,我想知道哪些已售出的商品未按照已售出的数量发货。

我已经尝试将 tableA 左连接到 tableB 但我无法让它工作。

任何帮助,将不胜感激。 谢谢!

例如:

SELECT a.*
FROM a
WHERE NOT EXISTS ( SELECT NULL
                   FROM b
                   WHERE a.id = b.sub_id
                   GROUP BY b.sub_id
                   HAVING a.amount = SUM(b.amount) )

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=1b13c67b6e622a5da72f63074d53d423

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM