我需要从我的数据库中的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
"));
但我没有收到任何数据。
请问任何建议?
答案 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