mysql запрос присоединения отображает 0 значений - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно отобразить сумму из таблиц отношений следующим образом: введите описание изображения здесь

это мой запрос:

select p.p_kode, p.name as p_name, sum(m.money) as jum
from person p
left join money as m on m.p_kode = p.`p_kode`
where m.date >= "2020-04-10" and m.date <= "2020-04-13"
group by p.p_kode

но все равно не то, что Я хочу. K003 по-прежнему не отображается со значением jum = 0. пожалуйста помоги. Спасибо!

1 Ответ

1 голос
/ 21 апреля 2020

Просто переместите условие из условия where в on часть left join - в противном случае условие становится обязательным и исключает строки из person, для которых left join вернулся пустым:

select p.p_kode, p.name as p_name, coalesce(sum(m.money), 0) as jum
from person p
left join money as m 
    on  m.p_kode = p.p_kode
    and m.date >= '2020-04-10' 
    and m.date <= '2020-04-13'
group by p.p_kode
...