gpt4 book ai didi

MySQL 查询 "Recent Activity"

转载 作者:行者123 更新时间:2023-11-29 14:53:30 27 4
gpt4 key购买 nike

我正在创建一个网站,用户可以在其中创建相册、创建事件、上传视频等。我想要做的是列出给定用户的最近事件列表。这是我的表格的一个小轮廓:

**videos**
id
user_id
uploaded

**albums**
id
user_id
created
updated

**comments**
id
user_id
date

当然表中有更多的字段,也有更多的表,但是这些应该足以帮助我构建查询。

现在我想要输出的是一个日期,以及具有这些字段的给定事件的 ID:

user_id, video_id, album_id, comment_id, date

当然,只应选择 ID 字段之一,其余字段应为空,视频的日期应来自“上传”,相册的日期应来自“更新”,评论的日期应来自“日期”。应在 where 语句的查询中选择 user_id,以便获得给定用户的事件。

我尝试构建此查询但失败了,询问 COALESCE 应该用于选择不同的时间戳,但我无法绕过它。

最佳答案

类似这样的吗?

(select user_id, id as video_id, NULL as album_id, NULL as comment_id, uploaded as date from videos)UNION(select user_id, NULL, id, NULL, uploaded from albums)UNION(select user_id, NULL, NULL, id, date from comments)

您可以在整个操作之后应用 ORDER BY 子句,但 WHERE 条件应放在每个单独 SELECT 的括号内。

关于MySQL 查询 "Recent Activity",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204425/

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