2012-11-26 67 views
2

我在我的mysql數據庫中有兩個表。 表1:在線留言板 表2:用戶SQL JOIN 2條件

我的表看起來像這樣

TABLE SHOUTBOX (id, name, title, user_id) 

TABLE USERS (id, name, profile_image) 

我想要做的是顯示了從表吼吼箱,但 條件必須是其中profile_image =「2」 USERS表所以我 試過這樣:

SELECT shoutbox.id, shoutbox.name, shoutbox.title, shoutbox.user_id, user.profile_image 
FROM shoutbox, users 
WHERE users.profile_image = '2' 

我得到了很錯誤的結果。 所以我總是新手在這個所以請幫忙=)

回答

3

你從兩個表中獲得笛卡爾產品,因爲你缺乏連接兩個表的非常重要的條件。在WHERE子句中添加此條件。

SELECT ... FROM .... 
WHERE users.profile_image = '2' AND 
     shoutbox.user_ID = users.id 

但我敦促你使用SQL-92語法

SELECT shoutbox.id, 
     shoutbox.name, 
     shoutbox.title, 
     shoutbox.user_id, 
     users.profile_image 
FROM  shoutbox INNER JOIN users ON shoutbox.user_ID = users.id 
WHERE users.profile_image = '2' 
+0

謝謝你,工作就像一個魅力! =) – Mensur

+0

你好,歡迎隊友! ':D' –

0
SELECT shoutbox.id, 
     shoutbox.name, 
     shoutbox.title, 
     shoutbox.user_id, 
     user.profile_image 
FROM shoutbox 
join users 
on shoutbox.user_id=users.id 
WHERE users.profile_image = '2'