簡體   English   中英

查找日期大於同一表中匹配條目的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM