我的問題是:
我不斷地返回多個值,當我不期望。我試圖獲得由州,縣和國家決定的特定氣候。SQL - 子查詢返回多個值
我試過的東西:
下面給出的代碼。我不確定具體是什麼問題。我知道它返回多個值。但爲什麼?我指定STATE_ABBREVIATION = PROV_TERR_STATE_LOC
和我做的inner join
,不應該創建除了它們的不同CLIMATE_ID以外相似的行嗎?
SELECT
...<code>...
(SELECT locations.CLIMATE_ID
FROM REF_CLIMATE_LOCATION locations, SED_BANK_TST.dbo.STATIONS stations
INNER JOIN REF_STATE states ON STATE_ID = states.STATE_ID
INNER JOIN REF_COUNTY counties ON COUNTY_ID = counties.COUNTY_ID
INNER JOIN REF_COUNTRY countries ON COUNTRY_ID = countries.COUNTRY_ID
WHERE STATE_ABBREVIATION = PROV_TERR_STATE_LOC) AS CLIMATE_ID
...<more code>...
FROM SED_BANK_TST.dbo.STATIONS stations
我已經在這幾個小時,查找上如此不同的問題,但我不能想出如何使這個子查詢返回一個值。
如果沒有示例數據和可能的全表模式,我們將無法做到這一點。有各種方法可以使查詢返回單個值,但無法確定正確的方法。 – squillman
如果您正在測試的ID存在於REF表中,則所有這些內連接都不會減少結果集。 – Ronald