我正在尝试从SQL查询(使用MS SQL Server)中平面化一组数据,我需要做两次。这是我的示例数据。
这是我想要显示的数据
我设法使用PIVOT为每个建筑物获得了一个高度和一个面积,但我需要再次进行透视,以便为每个建筑物保留一行,其中包含所有相关数据。我认为解决方案需要同时使用枢轴和交叉应用,但我找不到正确的使用方法。谢谢你的帮忙!
anauzrmj1#
不需要CROSSAPPLY,一个简单的PIVOT或条件聚集就可以了。只要记住用最少的所需列数“FEED”你的透视。
Select * From ( Select Building ,Item = concat([Floor],MeasureName) ,Value = MeasureValue From YourTable ) src Pivot ( max( Value ) for Item in ( [floor1height] ,[floor1area] ,[floor2height] ,[floor2area] ) ) Pvt
1条答案
按热度按时间anauzrmj1#
不需要CROSSAPPLY,一个简单的PIVOT或条件聚集就可以了。只要记住用最少的所需列数“FEED”你的透视。