1

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

评论

评论ID | 评论日期和时间 | 图片ID | 用户名 | 评论

用户

用户名 | 用户名

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

但是我没有收到任何数据。

请问有什么建议吗?

4

2 回答 2

4

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

SELECT users.* , comments.*
FROM users JOIN comments ON comments.userID = users.userID 
WHERE comments.imageID = $imageID 
于 2012-04-09T08:39:29.303 回答
2

MySQL 执行自动连接(来自此页面“FROM [...] 子句指示要从中检索行的一个或多个表。如果您命名多个表,则表示您正在执行连接”)。

此外,由于有两userID列,您需要在表名之前指定哪一列。

所以你的查询可能是这样的:

SELECT commentDateAndTime, imageID, users.userID AS userID, comment, username
FROM comments, users
WHERE comments.userID = users.userID AND comments.imageID = $imageID
于 2012-04-09T08:49:50.433 回答