这是我的表结构 我有3张桌子:
表结构可在以下图像中找到:
表:成员
--------------------------------------------------------------------
user_id |full_name |email | password | image |join_date |
| | | | | |
---------------------------------------------------------------------
表:album_comments
--------------------------------------------------------------------
id |album_id |comment_text | comment_userid | post_date |active_bit |
| | | | | |
---------------------------------------------------------------------
表:comment_likes
--------------------------------------------------------------------
id |user_id |comment_id | post_date | | like_bit |
| | | | | |
---------------------------------------------------------------------
我想加入三个表并检索结果。这就是我需要的:
我想返回最新的20条评论,并检查当前登录的成员是否喜欢这20条评论中的任何评论。如果是,则将状态位返回1作为那些注释,如果不是则返回状态位0.
任何人都可以告诉你这是什么SQL查询吗?
答案 0 :(得分:0)
以下查询应该适合您。从album_comments中选择所需的列,并根据comment_id将其与comment_likes连接,并检查comment_likes user_id是否等于您从UI发送的user_id。 ORDER BY DESC将返回LIMIT为20的最新评论。
Select |ac.Column1, ac.Column2...ac.Column-n|, cl.like_bit
FROM album_comments ac INNER JOIN comment_likes cl
ON ac.id = cl.comment_id AND cl.user_id = |screen user_id|
ORDER BY ac.id DESC LIMIT 20;