显示继续日期-SQL



我怎么能得到所有的人谁有代码(14,13)整个月

idr code start-date end -date16 13 2021-01-07 2021-01-2116 13 2021-01-22 2021-01-3117 13 2021-01-01 2021-01-0117 12 2021-01-02 2021-01-1417 14 2017-01-15 2017-01-3118 14 2017-01-01 2017-01-1918 13 2021-01-20 2021-01-2918 14 2012-01-30 2012-01-31

我想要的结果是:

idr code start-date end -date16 13 2021-01-07 2021-01-2116 13 2021-01-22 2021-01-3118 14 2017-01-01 2017-01-1918 13 2021-01-20 2021-01-29

我选择(idnr=16, idnr=18)作为结果,因为我想要的CODE 13, CODE 14和开始日期和结束日期涵盖整个1月(整个月2021-01-01至2021-01-31)**很抱歉重复我的问题,但我昨天删除了,因为它不是很好**

您可以使用not exists:

select t.*
from t
where t.end_date >= '2021-01-01' and
t.start_date < '2021-02-01'
not exists (select 1
from t t2
where t2.idnr = t.idnr and
t2.code not in (13, 14) and
t2.end_date >= '2021-01-01' and
t2.start_date < '2021-02-01'
)

相关内容

  • 没有找到相关文章

最新更新