2013-07-25 67 views
0

可以说我有一个数据库有一个国家(国家)列的表,有一个状态列和状态列(国家)列的表和表中有城市列和城市列状态(CITIES)。我想写的是在该国输出的国家,状态查询,多少城市在该州嵌套查询变量

USA  Ohio 65 
USA  Maine 52 
      etc..... 

我的外部查询是一样的东西

SELECT COUNTRIES.country, STATES.state, COUNT(CITIES.city) 
FROM COUNTRIES, STATES, CITIES 
WHERE COUNTRIES.country = STATES.country AND 
     STATES.city = CITIES.city AND 
     EXISTS... 

在存在发言中,我想要编写一个嵌套的子查询,将所有的城市拉出一个特定的状态为COUNT函数进行计数。有没有办法让我编写一个变量或类似的东西,以便只为某个州的城市抽出城市?

对不起,如果这是一个令人困惑的例子,但我试图写这个的实际查询更难以解释。基本上(使用这个例子),我的子查询正在每个州的每个城市都拉出来。我需要改变这一点,因为如果我想要计算亚利桑那州的城市数量,我不希望西雅图或德梅因出现。

回答

1
Select Country, State, count(city) as Citycount 
from Countries 
inner join States on countries.country = states.country 
inner join cities on states.state = cities.state 
group by country, state