所以我有3张桌子
帖子
评论
回复
我试图从post.user_id = x获取每个post.post_id的所有评论和回复
我试过了
SELECT *
FROM posts AS p
INNER JOIN comments as c
ON c.comment_id=p.post_id
INNER JOIN replies as r
ON r.reply_id=p.post_id
WHERE
p.user_id='x'
Run Code Online (Sandbox Code Playgroud)
返回0 ...
编辑
解决方案是
SELECT *
FROM POSTS A
LEFT JOIN COMMENTS B ON A.POST_ID=B.COMMENT_ID
LEFT JOIN REPLIES C ON A.POST_ID=C.REPLY_ID
WHERE A.USER_ID='X'
Run Code Online (Sandbox Code Playgroud)
所以,如果我在评论和回复表上添加删除列,我如何检查我收到的评论或回复是否未被删除?
我试过添加之后 post.post_id
但返回0.
你错过了模型中的关键关系.您需要在post_id的回复和注释中有一列,然后在post_id上加入表.
完成此更改后,您的查询将如下所示:
SELECT c.*, r.*
FROM posts p
INNER JOIN comments c ON p.id=c.post_id
INNER JOIN replies r ON p.id=r.post_id
WHERE p.user_id=$user_id
Run Code Online (Sandbox Code Playgroud)