gpt4 book ai didi

mysql - SQL 根据另一个表中的数据列出表中的数据

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

我正在为一位客户编写一个 CMS,该客户希望按即将进行的事件对其数据进行排序。

有一个名为 customers 的表,其中包含由 cust_id 列标识的所有客户。

还有一个名为 activities 的表,其中有一个 cust_id 列将其与客户配对,以及一个 date_last_done 字段指定任务何时完成。客户可以记录许多事件。

我想要获取最近 (date_last_done desc) 事件在 11 个月前完成的所有客户。

这是我的尝试:

SELECT
*
FROM
customers
INNER JOIN
activities
ON
activities.cust_id = customers.cust_id
WHERE
(SELECT
date_last_done
FROM
activities
WHERE
cust_id = ???
ORDER BY
date_last_done
DESC)
< date() - 11months

如何编辑查询来执行此操作?

最佳答案

使用子查询连接 customers 表,该子查询返回具有符合条件的事件的客户。

SELECT c.*
FROM customers AS c
JOIN (SELECT cust_id
FROM activities
GROUP BY cust_id
HAVING MAX(date_last_done) < DATE_SUB(NOW(), INTERVAL 11 MONTH)) AS a
ON c.cust_id = a.cust_id

关于mysql - SQL 根据另一个表中的数据列出表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42168780/

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