2012-06-25 56 views
0

過濾器只有用戶,這些都是我的表:誰屬於東西在第三表

表 '用戶'

ID  NAME  AGE 
01  John  22 
02  Gloria 27 

TABLE '城市'

ID USER_ID CITY 
22 01   Sacramento 
23 02   Phoenix 

TABLE '嗜好'

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

好的,所以我們有t我傢伙:約翰來自薩克拉門託,喜歡游泳和閱讀。 格洛麗亞來自鳳凰城,只喜歡閱讀。

我知道如何加入前兩個表:

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

但我怎麼能加入「愛好」表,只有誰喜歡游泳顯示器的用戶?

非常感謝, 馬蒂亞斯

+0

編輯表格格式 – Kinesias

回答

4

您將只需添加一個JOIN到最後一個表,並添加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' 
+0

我不能說更好的我自己! – Charleh

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'    
+0

你是天才!那雖然比我容易! thx – Kinesias

+0

不要忘記upvote其他天才:) – Charleh

0

選擇u.id,u.name,c.city,h.hobby 從用戶Ü 內上u.id = c.id加入城市Ç U上內部聯接愛好ħ 。 id = h.id 其中to_lower(h.hobby)='游泳'