問候!我在創建引用多個表的查詢時遇到困難。我是SQL新手,聯接困擾着我。我瞎了Google的搜索範圍後,發現Joining tables in SQL讓我更接近我想成爲的地方!我創建的查詢沒有做我想要的。我有兩個表:MySQL多表查詢
disp_profile
disp_id* name address zip
0001 Profile1 SomeAddress1 11111
0002 Profile2 SomeAddress2 22222
0003 Profile3 SomeAddress3 33333
zipcode
zip_code* state city county
11111 CA City1 County1
22222 WA City2 County2
33333 NV City3 County3
什麼,我試圖做的是從郵政編碼搶市,州,縣當zipcode.zip = disp_profile.zip(由變量State過濾)。理想的情況下返回是這樣的:
dispId dispName dispAddress dispZip zipState zipCounty zipCity zipCode
001 Profile1 SomeAddress1 11111 CA County1 City1 11111
or
002 Profile2 SomeAddress2 22222 WA County2 City2 22222
SELECT
dp.disp_id AS dispId, dp.name AS dispName, dp.address1 AS dispAddress1, dp.zip AS dispZip, zc.state AS zipState, zc.county AS zipCounty, zc.city AS zipCity, zc.zip_code AS zipCode
FROM
disp_profile dp
INNER JOIN
zipcodes zc
ON
dp.zip = zc.zip_code
WHERE
dp.state = 'CA'
我知道這可能不是去了解這一點的最好方式,但我認爲最好單獨存放東西VS每個項目的冗餘信息。 disp_profile中的數據集大約有1000條記錄,zip_codes大約爲30,000條。使用子查詢可以更輕鬆地完成這項工作嗎?謝謝你的時間!
你的輸出似乎很好!我不確定什麼是錯誤,你想要什麼結果? – rkg 2011-03-21 07:59:01