2013-07-25 97 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