2013-06-19 52 views
0
Table1 

id Name 

1  John 

2  Sheldon 

3  Sarah 

========MySQL的左連接 - 如何獲得的第二個表

Table2 

rid id id2 relation 

1  1 2 1 

2  1 3 1 

我怎樣才能從表1中的所有成員在一個查詢和每個成員的發現記錄計數總關係。

我想應該是這個結果:

Jhon  2 

Sheldon 0 

Sarah  0 

回答

1
SELECT t1.name, IFNULL(COUNT(t2.id2), 0) 
FROM table1 t1 LEFT JOIN table2 t2 ON t1.id=t2.id 
GROUP BY t1.id 
+0

TY。它工作正常。 –

+0

是否需要IFNULL?當我用COUNT(t2.id2)代替IFNULL(COUNT(t2.id2),0)時,它會給出相同的結果嗎? –

+0

沒有必要,只是一個預防措施... – sashkello

3
select Table1.name, count(Table2.id) from Table1 LEFT Join Table2 on Table1.id=Table2.id group by Table2.id 

    OR 

select Table1.name,IFNULL(count(Table2.id), 0) from Table1 LEFT Join Table2 on Table1.id=Table2.id group by Table2.id 

enter image description here

+1

好的解釋多德...!這對我有幫助.. !! –