我有两张桌子,这些是我的桌子
pemesanan
detail_pemesanan
我试过这个查询
select pemesanan.tgl_pesan,
SUM(detail_pemesanan.jumlah) as jumlah
FROM pemesanan
JOIN detail_pemesanan
ON pemesanan.id_pemesanan = detail_pemesanan.id_pemesanan
WHERE pemesanan.tgl_pesan >= DATE_ADD(now(), INTERVAL -6 day)
GROUP BY pemesanan.tgl_pesan
但它只显示tgl_pesan
上有jumlah
值的tgl_pesan
。
我想要的是拥有所有jumlah
,即使它在Array#grep
上没有价值。有什么解决方案吗?
答案 0 :(得分:0)
我认为您需要left join
:
select p.tgl_pesan, SUM(dp.jumlah) as jumlah
FROM pemesanan p JOIN
detail_pemesanan dp
ON p.id_pemesanan = dp.id_pemesanan
WHERE p.tgl_pesan >= DATE_ADD(now(), INTERVAL -6 day)
GROUP BY p.tgl_pesan;
如果您确实想要零而不是NULL
,请使用COALESCE(SUM(dp.jumlah), 0)
。