根据查询将多个日期字段合并为一个

时间:2019-02-15 19:57:24

标签: sql sql-server

我需要创建一个报告,该报告将2个日期字段的总数计为一个。我要查询的表的简化示例是:

ID, FirstName, LastName, InitialApplicationDate, UpdatedApplicationDate

我需要以创建类似于以下内容的方式来查询两个日期字段:

 Date | TotalApplications

我需要日期输出同时包含InitialApplicationDate和  UpdatedApplicationDate字段和TotalApplications输出为两种日期字段的总数的计数。最初我以为工会可能会工作,但是每个日期返回2个单独的记录。有什么想法可以实现吗?

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是使用apply取消透视,然后聚合:

select v.thedate, count(*)
from t cross apply
     (values (InitialApplicationDate), (UpdatedApplicationDate)) v(thedate)
group by v.thedate;

如果任一列可能是where thedate is not null,则可能要添加NULL

请注意,以上将对同一申请进行两次计数,每个日期一次。那似乎是您的意图。