gpt4 book ai didi

sql - PostgreSQL 选择不在其他日期之间的日期之间的日期

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

我需要编写一些基本上说从 TABLE 中选择所有成员 ID,其中 state = accepted 且日期介于 2016 年和 2017 年之间且日期不介于 2018-2019 年之间

我在代码中想到的是:

select distinct "bookings"."memberId" 
from "shifts"
inner join "bookings" on "bookings"."shiftId" = "shifts"."id"
where "shifts"."startTime"
not between '2016-01-02 00:00:00.000' and '2020-01-01 23:59:59.999'
and "bookings"."state" in ('ACCEPTED')
EXCEPT
select distinct "bookings"."memberId"
from "shifts"
inner join "bookings" on "bookings"."shiftId" = "shifts"."id"
where "shifts"."startTime" >= '2015-01-01 00:00:00.000' and "shifts"."startTime" <= '2016-01-01 23:59:59.999'
and "bookings"."state" in ('ACCEPTED')

如果我运行它,它什么都不返回,0 行,但是如果我运行查询直到 except 它返回我的行,然后如果我在 except 之后获取所有内容它也给我行,但是当我尝试将两者与除了,它失败了

最佳答案

好吧,这两个集合必须完全重叠,所以所有的行都丢失了。首先,您将获取 2016 年至 2020 年以外的所有内容。

这包括从 2015 年开始的所有行。我希望它返回 2015 年之前开始的成员,但也许这些不存在。

我回答了一个非常相似的question使用更简单的查询。你应该使用它。

关于sql - PostgreSQL 选择不在其他日期之间的日期之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56427359/

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