加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 行转列

发布时间:2020-12-12 13:22:16 所属栏目:MsSql教程 来源:网络整理
导读:参考例子 http://sqlfiddle.com/#!6/a63a6/457 ? SELECT LogicalStationID,[气体浓度_DLastValue],[传感器状态_DLastValue],? [水位状态_DLastValue],[电池状态_DLastValue],? case when [气体浓度_DLastTime]=[传感器状态_DLastTime] and [气体浓度_DLastTi

参考例子

http://sqlfiddle.com/#!6/a63a6/457




? SELECT LogicalStationID,[气体浓度_DLastValue],[传感器状态_DLastValue],? [水位状态_DLastValue],[电池状态_DLastValue],? case when [气体浓度_DLastTime]>=[传感器状态_DLastTime] and [气体浓度_DLastTime]>=[水位状态_DLastTime]? ? and [气体浓度_DLastTime]>=[电池状态_DLastTime] Then ?convert(datetime,[气体浓度_DLastTime]) ? ?when [传感器状态_DLastTime]>=[气体浓度_DLastTime] and [传感器状态_DLastTime]>=[水位状态_DLastTime]? ? and [传感器状态_DLastTime]>=[电池状态_DLastTime] Then ?convert(datetime,[传感器状态_DLastTime]) ? ?when [水位状态_DLastTime]>=[气体浓度_DLastTime] and [水位状态_DLastTime]>=[传感器状态_DLastTime]? ? and ?[水位状态_DLastTime]>=[气体浓度_DLastTime] Then ?convert(datetime,[水位状态_DLastTime]) ? ? when [电池状态_DLastTime]>=[传感器状态_DLastTime] and [电池状态_DLastTime]>=[气体浓度_DLastTime]? ? and [电池状态_DLastTime]>=[水位状态_DLastTime] ?Then ?convert(datetime,[电池状态_DLastTime]) end as [DLastTime] ? ?FROM ( SELECT LogicalStationID,col,val FROM( ?SELECT *,Name+'_DLastValue' as Col,DLastValue as Val FROM [zhouweiTest].[dbo].[SensorReal] ?UNION ?SELECT *,Name+'_DLastTime' as Col,CONVERT(float,DLastTime) as Val ?FROM [zhouweiTest].[dbo].[SensorReal] ) t ) tt PIVOT ( max(Val) for Col in ([气体浓度_DLastValue],[气体浓度_DLastTime],[传感器状态_DLastTime],[水位状态_DLastValue],[水位状态_DLastTime],[电池状态_DLastTime]) ) AS pvt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读