我有一个包含 ClaimNumber、NoteCreateDate、NoteType 的表格
我想找到在 NoteCreateDate 中没有间隔的背对背注释(如“评论已发送”)的声明
例如。
+-------------+----------------+--------------------+----------+
| ClaimNumber | NoteCreateDate | Notes | NoteType |
+-------------+----------------+--------------------+----------+
| 12121 | 12/01/2017 | ReviewSent | Subject |
| 12121 | 12/05/2017 | PackagesenttoABC | Details |
| 12121 | 12/07/2017 | ReviewSent | Subject |
| 10005 | 05/06/2018 | ReviewSent | Subject |
| 10005 | 05/07/2018 | ReviewSent | Subject |
| 10005 | 05/08/2018 | ReviewSent | Subject |
| 10005 | 05/12/2018 | Fieldinvestigation | SIU |
+-------------+----------------+--------------------+----------+
预期 在这个例子中,我只想要 claim 编号 10005,因为它的 claim 中有“评论已发送”的注释,并且日期(连续日期)没有间隔。例如,我想找到具有今天创建的带有短语“ReviewSent”的注释的声明,并且以下注释也应该是相同的“Review sent”,无论它是何时创建的,可能是第二天甚至 10 天稍后 .. 提前致谢
我当前的 MS SQL 查询。
select cm.ClaimNum, a.NoteCreateDate, a.Notes, a.NoteType
from CMaster cm
left join Note a on cm.ClaimNum = a.PARENTREF
left join NoteType] b on b.ID = a.TYPECODE
where Body like '%Review Sent%'
最佳答案
因此,如果您想找到 ReviewSent 注释被发回 2-back 的 ClaimNumber(s),那么此查询将获取它们
CREATE TABLE T1
([ClaimNumber] int, [NoteCreateDate] datetime, [Notes] varchar(18), [NoteType] varchar(7))
;
INSERT INTO T1
([ClaimNumber], [NoteCreateDate], [Notes], [NoteType])
VALUES
(12121, '2017-12-01 00:00:00', 'ReviewSent', 'Subject'),
(12121, '2017-12-05 00:00:00', 'PackagesenttoABC', 'Details'),
(12121, '2017-12-07 00:00:00', 'ReviewSent', 'Subject'),
(10005, '2018-05-06 00:00:00', 'ReviewSent', 'Subject'),
(10005, '2018-05-07 00:00:00', 'ReviewSent', 'Subject'),
(10005, '2018-05-08 00:00:00', 'ReviewSent', 'Subject'),
(10005, '2018-05-12 00:00:00', 'Fieldinvestigation', 'SIU')
;
SELECT DISTINCT X.ClaimNumber
FROM(
SELECT
ClaimNumber
,NoteCreateDate
,Notes
,NoteType
,LD=LEAD( Notes )OVER(PARTITION BY ClaimNumber ORDER BY NoteCreateDate ASC)
FROM dbo.T1
) X WHERE LD= 'ReviewSent' AND X.Notes= 'ReviewSent'
DROP TABLE dbo.T1
结果
ClaimNumber
10005
关于sql-server - SQL查询以查找日期没有差距的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50510956/