mysql - 当按 ID 分组的 colA 的总和大于按 ID 分组的表 2 中的 colB 总和时,选择表 1 的行
问题描述
我们有一张出售商品的表格,如下所示:(表 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
推荐阅读
- node.js - nvs 使用命令在 Windows 中的 git bash 命令提示符中不起作用
- java - 安卓|| 在 Hilt 不支持的类中注入依赖项,例如 Helper 类
- python - Pandas 数据框将行值重塑为新列(矩阵类型格式)
- vim - Vim Ctrlp 插件在 Windows 中搜索另一个驱动器中的文件
- php - 无法连接到 SMTP 主机 - 无法验证证书
- html - 是否将文本直接放入有可访问性影响吗?
- mobile - 文档呈现解决方案的同步滚动
- python - 为什么 KMP 比 naive 慢?
- spring-boot - @ManyToOne 默认是否被索引
- angular - Angular 12 未绑定到来自 webapi 的值:返回 NgFor 仅支持绑定到 Iterables,例如数组