mysql连接3个表并计数

时间:2010-03-27 14:08:18

标签: php sql mysql count inner-join

请看这个图片

alt text http://img249.imageshack.us/img249/6453/pic1v.jpg

这里有3张桌子,我想要的是

来自table1的uid 来自同一uid表3的行业 来自同一个uid的表2中的fid计数

在示例示例中输出将是2条记录

由于

2 个答案:

答案 0 :(得分:5)

我没有看到与表1的任何关系。这是一个使用两个表之间的内部联接并通过uid进行分组的示例:

SELECT 
  t3.uid, 
  t3.industry, 
  count(t2.fid) 
FROM 
  table3 t3 
INNER JOIN 
  table2 t2 ON t3.uid = t2.uid 
GROUP BY 
  t3.uid

答案 1 :(得分:4)

试试这个:

SELECT table1.uid,table3.industry,COUNT(table2.fid) 
FROM table1 
INNER JOIN table3 ON table1.uid=table3.uid
INNER JOIN table2 ON table1.uid=table2.uid
GROUP BY table1.uid, table3.industry

Table1内连接没用,但如果你需要检索city或mem_no,则可能很有用; 在这种情况下,请记住在GROUP BY子句中添加该字段。