Lor*_*mly 0 mysql select join group-by
如何SUM用查询JOIN表获取查询,我有两个表,我的表是laporan和laporan_pengeluaran.
表laporan
id name shell
9 loli 12000
10 ardi 24000
11 dian 5500
Run Code Online (Sandbox Code Playgroud)
table laporan_pengeluaran
id laporan_id harga
1 9 15000
2 9 29000
3 10 7500
4 10 5000
5 11 3000
6 11 3000
Run Code Online (Sandbox Code Playgroud)
我的问题,如何使用连接表获取SUM,在表laporan中按id/name分组,所以我想获得如下结果:
id name shell harga
9 loli 12000 44000
10 ardi 24000 12500
11 dian 5500 6000
Run Code Online (Sandbox Code Playgroud)
谢谢.
您可以加入这两个表,然后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
Run Code Online (Sandbox Code Playgroud)
如果表中可能缺少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
Run Code Online (Sandbox Code Playgroud)
结果是:
| ID | NAME | SHELL | HARGA |
-----------------------------
| 9 | loli | 12000 | 44000 |
| 10 | ardi | 24000 | 12500 |
| 11 | dian | 5500 | 6000 |
Run Code Online (Sandbox Code Playgroud)