将重复的值插入列

时间:2019-06-27 10:32:37

标签: sql sql-server reporting-services

我正在针对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

1 个答案:

答案 0 :(得分:4)

您似乎希望所有基于Estate的日期都相同。您可以使用窗口功能:

select Question, Estate,
       max(Inspection_Date_Act) over (partition by Estate) as 
Inspection_Date_Act
from #TempPIMSSRS;
相关问题