OpenGeoDBを使用して、郵便番号と都市名を検索し始めました。私のMySQLクエリは次のようになります。
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を使用する必要があることがわかりました。コードを修正する方法を知っていますか?前もって感謝します。:)