こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

別テーブルの複数のフィールドから検索

以下のようなテーブルに地域が登録されています。

アドレステーブル(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文で求めることは可能でしょうか。
よろしくお願いします。

投稿日時 - 2016-06-16 15:37:21

QNo.9188441

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

SELECT * FROM a, u WHERE a.zip = u.zip AND a.pref = u.pref AND a.city = u.city;
って事でいいんじゃないでしょうか。

投稿日時 - 2016-06-16 15:47:24

あなたにオススメの質問