Mysql比较两个表

时间:2011-07-20 00:13:35

标签: mysql

我在同一个数据库中有两个匹配id的表。

第一个表格是accounts

id - account_access - name - email - city - state - etc...  
1 - 1 - Mark - mark@mark.com - Seattle - WA - blah,blah,blah  
2 - 1 - Dave - dave@dave.com - Portland - OR - blah,blah,blah  
3 - 0 - Jake - jake@jake.com - San Francisco - CA - blah,blah,blah  
4 - 1 - Julie - julie@julie.com - Los Andeles - CA - blah,blah,blah

第二个表格是members

 id - status - score - IQ  
 1 - 4 - 9000 - 108  
 2 - 5 - 8000 - 90  
 3 - 5 - 1000 - 25 (Disclaimer: Any relation to real people is purely coincidental)  
 4 - 5 - 5000 - 60

由于杰克不是很聪明,他无法访问该帐户。

我想知道的是有多少人使用account_access(1)拥有状态(5),或者有多少人拥有状态(5)可以访问。
我不熟悉如何将SELECT语句比作两个表,我想知道行数,然后还要检索要显示的数据。

2 个答案:

答案 0 :(得分:2)

你想要做的是左连接。

SELECT count(*)
FROM Accounts
LEFT JOIN members
ON Accounts.id = members.id
WHERE status = 5
AND account_access = 1

关于左联接的其他信息:http://www.w3schools.com/sql/sql_join_left.asp

答案 1 :(得分:0)

从帐户中选择计数(*)左连接成员使用(id)其中帐户访问权限= 1且状态= 5;

我的bb中没有下划线,所以在运行查询之前,您可能需要用下划线替换帐户和访问之间的空格。