2012-01-16 46 views
2

をカウントして表示:MySQLの2つのテーブルは、私はテーブルを持っている

ogloszenie 
Id | id_kat 
1 1 
2 2 
3 1 
4 1 
... 


kategoria 
Id_kat | Name 
1  Test1 
2  Test2 
3  Tesy3 
4  Test4 
... 

マイクエリ:id_katがテーブルにある

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; 

私はこのクエリの表示を実行する行のみ

'ogloszenie' を
Test1 3 
Test2 1 

私はディスプレイが必要です:

+0

- とINNER JOINを、値が両方のテーブル –

答えて

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 
+0

に存在している必要があります。これはOKであることを意味します。ありがとう – Pitu

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; 

あなたがベースのものの代わりにogloszenieId_kat年代としてkategoria idを取ることを意味します。あなたが参加し、異なる種類のについて読む必要が

どちらかその、または

FROM ogloszenie 
RIGHT JOIN kategoria ... 
関連する問題