- 締切済み
別テーブルの複数のフィールドから検索
以下のようなテーブルに地域が登録されています。 アドレステーブル(a) id zip pref city 1 124-0000 東京都 葛飾区 2 250-0000 神奈川県 小田原市 3 563-0000 大阪府 池田市 4 621-0000 京都府 亀岡市 もう一つユーザーテーブルがあります。 ユーザーテーブル(u) id name zip pref city 11 Aさん 124-0000 東京都 葛飾区 12 Bさん 135-0000 東京都 江東区 13 Cさん 250-0000 神奈川県 小田原市 14 Dさん 250-0053 神奈川県 小田原市穴部 15 Eさん 563-0000 大阪府 池田市 16 Fさん 563-0000 大阪府 池田市旭丘 17 Gさん 520-0000 滋賀県 大津市 18 Hさん 722-0000 広島県 尾道市 アドレステーブルの住所にマッチするユーザーのみを抽出したいと思います。 Aさん(id:1 = id:11)、Cさん(id:2 = id:13)、Eさん(id:3 = id:15)が抽出されるようにということです。 Dさんのようにzipとcityが一致せず、prefが一致しているものは除外とします。 Fさんのようにzip、prefが一致しているがcityが一致していないものも除外とします。 ようするに「a.zip = u.zip AND a.pref = u.pref AND a.city = u.city」としたいです。 上記を1度のSQL文で求めることは可能でしょうか。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- t_ohta
- ベストアンサー率38% (5238/13705)
SELECT * FROM a, u WHERE a.zip = u.zip AND a.pref = u.pref AND a.city = u.city; って事でいいんじゃないでしょうか。