[英]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.