tsql - 在 T-SQL 中显示单个表中的日期重叠
问题描述
我有以下情节表示例:
请注意,其中 DischDate="2020-02-20" 表示 - 客户尚未出院。这就像NULL(这个日期意味着填写NULL)
我的目标是在同一个 EHRClientFK 中显示所有可能的重叠,如下所示:
因此,在此表的情况下,我希望显示 - EHRClientFK / AdmDate / DischDate 仅适用于 EHRClientFK = 2、4、3、5(满足架构):
EHRClientFK 值 8、9、10 没有重复(重叠),客户端 6、7 有两个 adm-disch 日期,但它们之间没有重叠。彼此
为了达到这个结果,我有以下代码:
SELECT
a.[EHRClientFK]
,a.[AdmDate]
,a.[DischDate]
FROM [WH].[dbo].[Episode] a
INNER JOIN [WH].[dbo].[Episode] b ON a.EHRClientFK = b.EHRClientFK
WHERE
((a.DischDate = '2020-02-20') AND (b.DischDate = '2020-02-20'))
OR ((a.AdmDate < b.DischDate) AND (b.AdmDate < a.DischDate))
GROUP BY
a.[EHRClientFK]
,a.[AdmDate]
,a.[DischDate]
HAVING COUNT (*) >1
但是,当我在我的原始表(超过 2 万条记录)上应用它时 - 我仍然有不重复的 EHRClientFK,比如 8、9、10(非常微不足道,但仍然如此);和一些没有重叠日期的 6,7 案例
我应该如何更改我的Where子句以满足我的重叠模式(以涵盖所有重叠情况)”?
解决方案
推荐阅读
- android - 如何在 Spinner 上设置仅国旗
- android - Android Studio 3.1.3,设计视图总是空的 - 为什么开箱即用不能正常工作
- join - 如何在 Yii2 GridView 中显示多个关系记录?
- c++ - 计算机视觉(使用 opencv c++ 对齐),出现错误
- python - 根据另一个数据框的值向数据框添加新列
- php - Apache 和 PHP 多请求句柄
- java - 将项目拖到另一个 TextView 后清空 TextView?
- c# - Xamarin.Forms 受保护的 OnAppearing 方法 - 如何更改布尔值?
- c# - 如何将 gridview(wpf) 导出到 csv ?我知道解决方案,但我只得到标题作为输出?
- css - CSS 在我的 WordPress 博客主页上不起作用