mysql - 带有连接和条件的 MYSQL SUM 字段
问题描述
我有两个行数不同的表,我想要 SUM 字段(jumlah),但是应该来自第二个表的字段是空的,而不是用其他字段的数字填充
这个我的 sql 查询
SELECT a.nama_kebutuhan, SUM(a.jumlah) as jumlah1, SUM(b.jumlah) as jumlah2
FROM kebutuhan AS a
INNER JOIN supply AS b ON b.no = a.no
WHERE a.no = '17717072'
GROUP BY a.`nama_kebutuhan`
表kebutuhan
id | no | nama_kebutuhan | jumlah
-------------------------------------
151|17717072| Pagar Panel MF | 10
152|17717072| U 30.30.120 T3 | 30
标签供应
id | no | nama_barang | penyedia
-------------------------------------
1 |17717072|U 30.30.120 T3| 5
结果应该是
nama_kebutuhan | jumlah1 | jumlah2
-------------------------------------
Pagar Panel MF | 10 | NULL
U 30.30.120 T3 | 30 | 5
解决方案
尝试使用LEFT JOIN
.
SELECT k.nama_kebutuhan, SUM(k.jumlah) AS 'jumlah', SUM(s.penyedia) AS 'jumlah2' FROM kebutuhan k
LEFT JOIN supply s ON s.no=k.no
GROUP BY k.nama_kebutuhan;
推荐阅读
- magento - 从 2.2.4 升级到 2.3.5 后模板文件 magento 2 无效
- jenkins - 如何通过脚本更新jenkins中的秘密
- java - 如何在 Java 中使用 ArchUnit 禁止文件中的特定内容
- r - 如何在 R 中使用分类变量和连续变量执行潜在配置文件分析?
- apache-spark - 为什么 spark insertInto 不会编写扩展名为 .parquet 的 parquet 文件?
- java - 将两个列表展平为字符串 .csv 样式格式
- javascript - Vuex 将可变对象作为 prop 传递,以传递的对象作为参数调用突变
- c++ - 实施英特尔实感和 SDL2 的问题
- javascript - 在模式中包含子模式似乎不适用于猫鼬
- sql - SQL - 带有 case 语句和通配符的 Where 子句