我開始使用OpenGeoDB查找郵政編碼和城市名稱。我的MySQL查詢內容是這樣的:MySQL錯誤1242甚至與任何
SELECT `d`.`text_val` AS `city`, (
SELECT `text_val`
FROM `geodb_textdata`
WHERE `loc_id` = ANY (
SELECT `loc_id`
FROM `geodb_textdata`
WHERE `text_val` LIKE '08%'
)
AND `text_type` = '500300000'
) AS `plz`, `c`.`lat`, `c`.`lon`
FROM `geodb_textdata` AS `d`
LEFT JOIN `geodb_coordinates` AS `c` USING (`loc_id`)
WHERE `loc_id` = ANY (
SELECT `loc_id`
FROM `geodb_textdata`
WHERE `text_val` LIKE '08%'
)
AND `text_type` = '500100000'
如果我運行此查詢採用了全郵政編碼或城市名稱它的偉大工程,但上面的代碼中,我得到的錯誤代碼
#1242 - Subquery returns more than 1 row
我正在使用Google,我發現,我應該在=和子查詢之間使用ANY。你有什麼想法我可以修復我的代碼?先謝謝你。 :)
+1教我什麼'ANY'!第一次看到它。 :) – 2012-07-25 09:21:34
您是否嘗試過使用IN而不是ANY? – 2012-07-25 09:22:06
如果使用IN,我會得到相同的錯誤。 :/ – anisie 2012-07-25 09:24:17