0

これらは私のテーブルです:

表'ユーザー'

ID      NAME     AGE 
01      John     22
02      Gloria   27

表「都市」

ID    USER_ID    CITY
22    01         Sacramento
23    02         Phoenix

表「趣味」

ID     USER_ID   HOBBY
88     01        swimming
89     01        reading
90     02        reading

さて、2人の仲間がいます。ジョンはサクラメント出身で、水泳と読書が好きです。グロリアはフェニックス出身で、読書が好きです。

最初の2つのテーブルを結合する方法を知っています。

SELECT * FROM users INNER JOIN cities ON users.id = cities.user_id

しかし、どうすれば「趣味」のテーブルに参加して、水泳が好きなユーザーだけを表示できますか?

どうもありがとう、マティアス

4

3 に答える 3

4

JOIN最後のテーブルにaを追加してWHERE句を追加するだけです

SELECT * 
FROM users  
INNER JOIN cities  
    ON users.id = cities.user_id
INNER JOIN hobbies
    ON users.id = hobbies.USER_ID
WHERE Hobbies.Hobby = 'swimming'
于 2012-06-25T15:25:10.753 に答える
1

結合を続けて結果をフィルタリングします。

例えば

SELECT * FROM users 
INNER JOIN cities ON users.id = cities.user_id 
INNER JOIN hobbies ON users.id = hobbies.user_id
WHERE hobbies.hobby = 'swimming'              
于 2012-06-25T15:25:14.227 に答える
0

ユーザーから u.id、u.name、c.city、h.hobby を選択 u 内部結合都市 c on u.id=c.id 内部結合趣味 h on u.id = h.id where to_lower (h.hobby) = '水泳'

于 2012-06-25T15:30:58.183 に答える