我有一张桌子:
ogloszenie
Id | id_kat
1 1
2 2
3 1
4 1
...
kategoria
Id_kat | Name
1 Test1
2 Test2
3 Tesy3
4 Test4
...
我的查询:
SELECT kategoria.Name, count(ogloszenie.Id_kategoria) AS ile
FROM ogloszenie INNER JOIN kategoria ON ogloszenie.id_kat = kategoria.Id_kat
GROUP BY kategoria.Id_kat;
当我运行此查询时,只显示id_kat在表'ogloszenie'中的行
Test1 3
Test2 1
我需要显示:
Test1 3
Test2 1
Test3 0
Test4 0
答案 0 :(得分:0)
SELECT kategoria.Name, count(IFNULL(ogloszenie.Id_kategoria, 0)) AS ile
FROM kategoria
LEFT JOIN ogloszenie ON ogloszenie.id_kat = kategoria.Id_kat
GROUP BY kategoria.Id_kat;
LEFT JOIN
表示您将kategoria
ID作为基本ID而不是ogloszenie
Id_kat
。
要么是,要么
FROM ogloszenie
RIGHT JOIN kategoria ...
答案 1 :(得分:0)
SELECT kategoria.Name,
COUNT(ogloszenie.Id_kat) as iCount
FROM kategoria left join ogloszenie
ON kategoria.Id_kat = ogloszenie.Id_kat
GROUP BY kategoria.Name