2016-11-28 41 views
-1

我有一个表格,其中每个记录有多个日期保存在日期列中,例如记录ID'01'可以有6行,每个日期从2015,2016,2017,2018和2019年。每个记录ID每年只有一个日期。SQL检查日期是否存在于未来2年

我有兴趣了解所有在当年有日期的记录ID,如果他们在未来2年有日期(即记录ID有2017到2018年的日期),仅在下一年(记录ID只有2017年的一个日期)或者仅仅是今年。

我对当年没有日期的记录不感兴趣,即使他们可能在未来2年有日期。我对3年后可能有日期但未来2年内没有日期的记录也不感兴趣。

在此先感谢。

+5

请编辑您的问题,并提供示例数据以及您不想查看的行以及原因。你的描述有点难以遵循。另外,你如何在一个*列中保存六个*日期*。这听起来像是一个非常糟糕的数据格式。你应该重组你的数据。 –

回答

0

根据您的问题。尝试这个。 已更新。

Select RecordID, Year(DateColumn) 
From table 
Where Year(DateColumn) Between Year(GetDate()) and (Year(GetDate()) + 2)  
Group By RecordID, Year(DateColumn) 
Having Count(1) = 3 
+0

目前还不清楚你期望任何单行的“DateColumn”年同时等于三个不同的值。 –

+0

同意。我发布后,我注意到了这一点。 –