来自第三表的内部连接的两个表的SQL计数

时间:2014-02-12 22:50:52

标签: php mysql sql database join

我的数据库有两个不同名称的类似表。两个表中包含的一个列称为“zips”,其中包含一个邮政编码。

我有一个不同的表格(美国邮政编码表),其中每个条目都包含县名,县ID,州,州ID和邮政编码。

我需要一个查询,告诉我前两个表中有多少条目匹配给定的县ID,并按县分组结果。

也就是说,假设表A有4个条目用于邮政编码'30017',表B有1个用于'30017'的条目。在美国邮政编码表中,“30017”对应于县名“Gwinnett”和县ID“839”。当我运行查询时,所需的结果是:

Gwinnett    5

这是我尝试过的最新查询。我不知道它返回了什么数字。这绝对不是我所期待的,因为我已经尝试了单个组件查询来测试结果。

SELECT b.County, COUNT(*) as Calls FROM (aLeads a, pLeads p)
INNER JOIN zipCodes b ON a.zip = b.ZipCode
WHERE b.countyID IN (2897, 2146, 839) 
AND a.callDate BETWEEN '2013-10-01' AND '2013-11-30'
GROUP BY b.County

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试从zipcode表开始,然后将其与aLeads和pLeads:

连接起来
SELECT b.County, COUNT(*) as Calls 
FROM zipCodes b 
INNER JOIN aLeads a ON a.zip = b.ZipCode
INNER JOIN pLeads p ON p.zip = b.ZipCode
WHERE b.countyID IN (2897, 2146, 839) 
GROUP BY b.County