对于此场景,在 SQL 中连接多个表

2024-03-06

这是我的表结构 我有3张桌子:

  1. 会员表
  2. 评论表
  3. 评论如表

表结构可以在下图中找到:

表:会员

--------------------------------------------------------------------
user_id |full_name |email   | password  | image     |join_date     |
        |          |        |           |           |            |
---------------------------------------------------------------------

表:专辑_评论

--------------------------------------------------------------------
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 查询是什么?


以下查询应该适合您。从 album_comments 中选择所需的列,根据 comment_id 将其与 comment_likes 结合起来,并检查 comment_likes user_id 是否等于您从 UI 发送的 user_id。 ORDER BY DESC 将返回最新评论,限制为 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于此场景,在 SQL 中连接多个表 的相关文章