gpt4 book ai didi

mysql - 根据具体条件连接3个表

转载 作者:行者123 更新时间:2023-11-29 16:07:35 26 4
gpt4 key购买 nike

我有以下 3 个表:

  • 用户:[ID、姓名、管理员...]
  • 事件:[id、user_id、类型...]
  • 消息:[id、user_id、...]

我想构造一个执行以下操作的查询:

-> 从表用户中选择尚未安排类型“集合”事件的所有用户

-> 拥有少于 3 条消息类型“collection_reminder”

-> 谁不是管理员

我已经设法弄清楚这个查询的第一部分,但是当我尝试添加 3 个表、进行计数等时,一切都变得有点梨形。

最佳答案

这是一个可能完成工作的查询。每个要求都表示为 WHERE 子句中的条件,并在需要时使用相关子查询:

SELECT u.*
FROM users u
WHERE
NOT EXISTS (
SELECT 1
FROM events e
WHERE e.user_id = u.id AND e.type = 'collection'
)
AND (
SELECT COUNT(*)
FROM messages m
WHERE m.userid = u.id AND m.type = 'collection_reminder'
) <= 3
AND u.admin IS NULL

关于mysql - 根据具体条件连接3个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581926/

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