2012-04-09 78 views
1

我需要從2代表在我的數據庫中選擇數據 - 評論和用戶。這是這些表的結構:從MySQL的2個表中選擇的數據,加入它

評論

commentID | commentDateAndTime | imageID | userID |評論

用戶

用戶ID |用戶名

,我需要選擇兩個表中的所有數據,加入它的用戶ID,其中圖像標識應等於$imageID。我嘗試了以下SELECT聲明:

return json_encode(select(" 
    SELECT 
    commentDateAndTime, 
    imageID, 
    userID, 
    COMMENT, 
    username 
    FROM users 
    JOIN comments 
    ON comments.userID = users.userID 
    WHERE comments.imageID = $imageID 
    GROUP BY comments.comment 
")); 

但我沒有收到任何數據。

有什麼建議嗎?

+5

刪除'集團BY' – diEcho 2012-04-09 08:27:14

+2

你們爲何需要的羣體?看起來不像你使用它。 – 2012-04-09 08:28:12

+1

嘗試刪除GROUP BY comments.comment – yAnTar 2012-04-09 08:29:00

回答

4

你爲什麼要使用GROUP BY,如果你需要的所有結果。

SELECT users.* , comments.* 
FROM users JOIN comments ON comments.userID = users.userID 
WHERE comments.imageID = $imageID 
2

MySQL不會把自動連接(從this page「的FROM [...]子句指示表或從中檢索行的表如果你命名多個表,你正在執行一個連接「)。

而且,因爲有您需要通過在表名前是具體哪一個兩個userID列。

所以,你的查詢可以是這樣的:

SELECT commentDateAndTime, imageID, users.userID AS userID, comment, username 
FROM comments, users 
WHERE comments.userID = users.userID AND comments.imageID = $imageID