Sql server SSRS 2005查找具有最大值的列的名称
最右边的一栏是我想在报告中添加的内容。这是否可以在不修改查询的情况下使用Unpivot之类的东西Sql server SSRS 2005查找具有最大值的列的名称,sql-server,sql-server-2005,reporting-services,reportingservices-2005,unpivot,Sql Server,Sql Server 2005,Reporting Services,Reportingservices 2005,Unpivot,最右边的一栏是我想在报告中添加的内容。这是否可以在不修改查询的情况下使用Unpivot之类的东西 Step X Step W Step A Step B Step Y Last Step --------------------------------------------------------------------- 1/21/2013 1/24/2013 1/3/2013 1/5/2013 1/7/2013 Step W
Step X Step W Step A Step B Step Y Last Step
---------------------------------------------------------------------
1/21/2013 1/24/2013 1/3/2013 1/5/2013 1/7/2013 Step W
这是朝着正确方向迈出的一步,但它似乎只在SSRS 2008中起作用:您可以使用
UNPIVOT
功能和交叉应用来实现:
;with cte as
(
select col, value
from yourtable
unpivot
(
value
for col in ([Step X], [Step W], [Step A], [Step B], [Step Y])
) unpiv
)
select [Step X],
[Step W],
[Step A],
[Step B],
[Step Y],
d.col LastStep
from yourtable
cross apply
(
select c1.col
from cte c1
inner join
(
select max(value) MaxDate
from cte
) c2
on c1.value = c2.maxdate
) d
看哇,太快了。看来我还是要用unpivot了。谢谢@当您有未规范化的数据时,Kon_UNPIVOT
非常有用。当不同的记录有一个共同的日期时,这似乎有问题:。有什么办法吗?@Kon_uu你应该发布一个新的问题和新的细节。