如何用查询SUM
表获取JOIN
查询,我有两个表,我的表是laporan
和laporan_pengeluaran
。
表拉波兰
id name shell
9 loli 12000
10 ardi 24000
11 dian 5500
表laporan_pengeluaran
id laporan_id harga
1 9 15000
2 9 29000
3 10 7500
4 10 5000
5 11 3000
6 11 3000
我的问题是,如何用联接表获取SUM,表laporan中按ID /名称分组,所以我想得到如下结果:
id name shell harga
9 loli 12000 44000
10 ardi 24000 12500
11 dian 5500 6000
谢谢。
最佳答案
您可以先联接两个表,然后联接sum(harga)
以获得结果。如果您知道在laporan
表中始终有laporan_pengeluaran
值,则可以使用INNER JOIN
:
select l.id,
l.name,
l.shell,
sum(lp.harga) harga
from laporan l
inner join laporan_pengeluaran lp
on l.id = lp.laporan_id
group by l.id, l.name, l.shell
见SQL Fiddle with Demo
如果
laporan
表中可能缺少laporan_pengeluaran
值,请使用LEFT JOIN
:select l.id,
l.name,
l.shell,
sum(lp.harga) harga
from laporan l
left join laporan_pengeluaran lp
on l.id = lp.laporan_id
group by l.id, l.name, l.shell
见SQL Fiddle with Demo
结果是:
| ID | NAME | SHELL | HARGA |
-----------------------------
| 9 | loli | 12000 | 44000 |
| 10 | ardi | 24000 | 12500 |
| 11 | dian | 5500 | 6000 |
关于mysql - 使用Join表获取总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14163240/