从mySQL中的2个表中选择数据,加入它

时间:2012-04-09 08:25:46

标签: php mysql select join json

我需要从我的数据库中的2个表中选择数据 - 评论和用户。这是这些表的结构:

评论

commentID | commentDateAndTime | imageID | userID |评论

用户

userID |用户名

我需要选择两个表中的所有数据,将其加入userID,其中imageID应等于$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   
"));

但我没有收到任何数据。

请问任何建议?

2 个答案:

答案 0 :(得分:4)

如果您需要所有结果,为什么要使用group by。

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

答案 1 :(得分: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