我正在针对SQL Server数据库在SSRS中编写复杂的报告。数据库设计似乎有点不寻常,我必须做更多的工作,以期创建满足要求并容纳各种输入参数的SSRS数据集。
一个挑战是,我现在需要在select语句的最后一列中复制值;这是为了允许我根据日期值有条件地禁止SSRS中的行。难道有人建议如何做吗?
我尝试对各种列进行分组,然后插入一个或多个临时表中。
select Question, Estate, Inspection_Date_Act
from #TempPIMSSRS
简化的select语句的当前结果是:
Col 1 Col 2 Col 3
Inspection Date Estate Name 1 23 Jan 2019
Fire Panels Estate Name 1 NULL
Stairs Estate Name 1 NULL
Entrance Estate Name 2 20 Mar 2019
Fire Panels Estate Name 2 NULL
Stairs Estate Name 2 NULL
期望的结果是:
Col 1 Col 2 Col 3
Inspection Date Estate Name 1 23 Jan 2019
Fire Panels Estate Name 1 23 Jan 2019
Stairs Estate Name 1 23 Jan 2019
Inspection Date Estate Name 2 20 Mar 2019
Fire Panels Estate Name 2 20 Mar 2019
Stairs Estate Name 2 20 Mar 2019
答案 0 :(得分:4)
您似乎希望所有基于Estate
的日期都相同。您可以使用窗口功能:
select Question, Estate,
max(Inspection_Date_Act) over (partition by Estate) as
Inspection_Date_Act
from #TempPIMSSRS;