gpt4 book ai didi

mysql - 一个简单的MySQL查询帮助

转载 作者:行者123 更新时间:2023-11-29 02:34:23 26 4
gpt4 key购买 nike

一天以来一直在使用这个相当简单的 MySQL 查询!不敢相信我忘记基础知识的速度有多快。我有 3 个表 - userpostfavourite_post。 post 表有一个 user_id,它是用户表的 FK。
favourite_post 表有

user_id REFERENCES user(id) 
post_id REFERENCES post(id)
timestamp

当用户收藏一个帖子时,他的 user_id post_idtimestamp 被插入到 favourite_post 表中。

我使用以下查询检索最近的 15 篇帖子

SELECT post.id, post.text, post.timestamp, post.user_id, user.username 
FROM post
INNER JOIN user
ON post.user_id = user.id
ORDER BY post.id
DESC LIMIT 15;

我需要做的是通过加入 favourite_post 表来检查每个帖子是否已被当前用户(比如 user_id = 1)收藏。

最佳答案

    SELECT p.id, p.text, p.timestamp, p.user_id, u.username, 
IF(ISNULL(fp.post_id), 'No', 'Yes') has_favourite
FROM post p
INNER JOIN user u
ON p.user_id = u.id
LEFT JOIN favourite_post fp
ON p.id = fp.post_id
AND u.id = fp.user_id
ORDER BY p.id DESC
LIMIT 15;

关于mysql - 一个简单的MySQL查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com