[英]find records with date greater than matching entry in same table
我試圖從特定記錄開始日期開始查找記錄。 林不知道如何做到這一點。 例
Name Issue Open Date Issue Close Date
John Doe 02/01/2017 02/15/2017
John Doe 02/25/2017 03/01/2017
John Doe 03/05/2017 03/15/2017
John Doe 03/20/2017 03/25/2017
Jane Doe 02/01/2017 02/20/2017
Jane Doe 02/22/2017 02/28/2017
Jane Doe 03/07/2017 03/22/2017
Jane Doe 03/25/2017 04/05/2017
Jim Jones 02/17/2017 02/25/2017
Jim Jones 02/15/2017 02/18/2017
Jim Jones 03/01/2017 03/07/2017
Jim Jones 03/19/2017 04/02/2017
我想從第一期的截止日期及以后開始查找每條記錄,但日期分散。 因此,對於John Doe,我想撤回02/15/17及以后的記錄。 對於Jane Doe,我想撤回02/20/17及以后的記錄。 對於Jim Jones,我想撤回2017年2月25日及以后的記錄。 我需要從特定日期開始拉回記錄,但是我不能只說發布截止日期> 02/01/2017,因為我並不總是知道截止日期和日期是分散的。 謝謝
您需要執行某種程度的匯總,然后將結果存儲在CTE或temp表中,然后才能使用第一個發行截止日期作為過濾器。 例如:
;WITH CTE AS (
SELECT Name
,min([Issue Close Date]) as FirstIssueCloseDate
FROM yourtable
GROUP BY Name)
SELECT *
FROM yourtable A
JOIN CTE B on a.name = b.name and a.[Issue Open Date] <=
b.FirstIssueCloseDate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.