gpt4 book ai didi

SQL根据日期范围检索另一个表中缺少记录的记录列表

转载 作者:行者123 更新时间:2023-11-29 12:59:16 25 4
gpt4 key购买 nike

在没有运气的情况下到处搜索找到一个有效的 SQL,它允许我根据不在给定日期范围内的日期在另一个表中查找丢失的记录。

表:订阅

+------------+
| id | label |
+------------+
| 1 | aaa |
+------------+
| 2 | bbb |
+------------+
| 3 | ccc |
+------------+
| 4 | ddd |
+------------+

表:subscription_periods

+------------------------------------------------+
| id | subscription_id | start_at | end_at |
+------------------------------------------------+
| 1 | 1 | 2015-12-01 | 2016-01-01 |
+------------------------------------------------+
| 2 | 1 | 2016-01-01 | 2016-02-01 |
+------------------------------------------------+
| 3 | 2 | 2015-12-01 | 2016-01-01 |
+------------------------------------------------+
| 4 | 3 | 2016-02-01 | 2016-03-01 |
+------------------------------------------------+

目标:比如说,今天是 2016-01-15,我想找到缺少 subscription_periods 记录的 subscriptions 记录没有根据给定日期范围(subscription_periods.start_atsubscription_periods.end_at)涵盖今天。

根据上述数据,subscriptions.id #2、#3 和 #4 没有涵盖 2016-01-15 的 subscription_periods 记录 基于给定的日期范围,因此预期结果如下所示:

+------------+
| id | label |
+------------+
| 2 | bbb |
+------------+
| 3 | ccc |
+------------+
| 4 | ddd |
+------------+

非常感谢任何提示,也非常感谢遇到此问题的任何人。

最佳答案

此查询将返回特定日期的 subscription_periods 中缺少的订阅

SELECT DISTINCT S.id, S.label
FROM subscriptions AS S
LEFT JOIN subscription_periods AS SP
ON S.id = SP.subscriptions_id AND @yourDateHere BETWEEN start_at AND end_at
WHERE SP.id IS NULL

关于SQL根据日期范围检索另一个表中缺少记录的记录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683719/

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