2017-05-16 5 views
0

hat Wert Ich habe zwei Tabellen und diese sind meine TabellenWie Daten zeigen, dass nicht

pemesanan

pemesanan

detail_pemesanan

detail_pemesanan

Ich habe versucht, diese Abfrage

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 

aber es zeigt nur tgl_pesan, den Wert auf jumlah hat.

Was ich will ist, alle tgl_pesan zu haben, obwohl es keinen Wert auf jumlah hat. Gibt es eine Lösung?

+1

Bitte lesen Sie http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557 und die akzeptierte Antwort –

+0

Forschung auch andere JOIN-Typen zB LINKE VERBINDUNG, RECHTE VERBINDUNG, INNERE VERBINDUNG (was ist es wahrscheinlich Standard) – Dijkgraaf

+0

Danke, sorry für meinen Fehler @a_horse_with_no_name –

Antwort

0

Ich glaube, Sie brauchen eine 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; 

Wenn Sie tatsächlich eine Null statt NULL wollen, COALESCE(SUM(dp.jumlah), 0) verwenden.

+0

aber es zeigen immer noch die gleichen Ergebnisse wie das, was ich getan habe –

+0

oh es funktioniert, ich danke Ihnen so viel –

+0

i auf beitreten add nicht links, so zeigen sie das gleiche Ergebnis, sorry für mein schlechtes und danke –

Verwandte Themen