2014-04-17 39 views
0

發現我有兩個表,MYSQL算第一臺IDS其中值在第二個表

表1表2兩個表中有這些列

id, name, rel_id 

現在我想有一個查詢計數的ID號碼表1其中名稱從表2等於約翰和表1 rel_id等於table2 rel_id。 所以這樣的事情(這是不正確的,這就是爲什麼我需要幫助,使其工作)。

Select count(ids) from table1 
where table2.name="john" 
and table1.rel_id=table2.rel_id 

回答

3

好,一種方法是使用連接:

Select count(t1.id) 
from table1 t1 join 
    table2 t2 
    on t1.rel_id = t2.rel_id 
where t2.name = 'john'; 

請注意,這使用表別名來區分每個表中的所有列。由於這些表具有相同的列,因此您需要爲每列標識表。此外,我改變字符串常量使用單引號而不是雙引號。

+0

+1:根據數據的不同,這可能需要不同的計數。 – MatBailie

+0

@戈登謝謝! – Genus

相關問題