以下の TeamRecords = 1 を = 別の数値に変更すると、私が変更した量の行が見つかります。新しいインシデントが作成されると、一意の番号が付けられ、Task テーブルから新しい割り当てが追加されるたびに、IncidentNumber の別の行が追加されるため、以下の seq = 1 で削除したインシデント番号の行が重複する可能性があります。 . 新しい割り当てが作成されると、Task テーブルに新しい CreateddateTime が作成されるため、たとえば、Max(t.[CreatedDateTime] を実行して任意の IncidentNumber の最後の割り当てを見つけることができます。したがって、TeamRecords = 1 を見つける必要があります。そのチームの割り当てが 1 つしかない特定のチームのすべてのレコード。
それは何か役に立ちますか?これが私がこれまでに持っているものです...
Use TEST
Go
WITH RankResult AS
(
SELECT i.[IncidentNumber],
i.[CreatedDateTime],
i.[ResolutionDateAndTime],
i.[Priority],
i.[Status],
i.[ClientName],
i.[ClientSite],
t.[OwnerTeam],
t.[Owner],
row_number() over( partition by i.RecID
order by t.CreatedDateTime desc, t.OwnerTeam ) seq,
TeamRecords = COUNT(*) OVER(PARTITION BY t.ParentLink_RecID)
FROM Incident as i
Inner JOIN Task as t
ON i.RecID = t.ParentLink_RecID
WHERE t.OwnerTeam = 'Infrastructure Services'
AND i.CreatedDateTime >= '20121001'
AND i.CreatedDateTime <= '20131001'
)
SELECT DISTINCT
[IncidentNumber],
[CreatedDateTime],
[ResolutionDateAndTime],
[Priority],
[Status],
[ClientName],
[ClientSite],
[OwnerTeam],
[Owner]
FROM RankResult
Where TeamRecords = 1
And Seq = 1
Order By IncidentNumber Asc
GO