回答

收藏

在SQL将数据从宽格式转换为长格式

技术问答 技术问答 220 人阅读 | 0 人回复 | 2023-09-14

我有一些格式数据:9 t, `) [- v. q/ p
VAR1 VAR2 Score1 Score2 Score3A     B    1      2     33           我需要把它转换成格式, ?: k! E- \1 r3 `9 Y/ t  v% _
VAR1 VAR2 VarName Value A     B  Score1   1 A     B  Score2   2 A     B  Score3   3如何在SQL执行此操作?# t8 R# O9 S+ h1 D9 R
                                                               
0 u9 w/ i3 x' n0 r- y& y+ {    解决方案:                                                                7 X' v4 }. M! M4 p! Q# S# u8 B7 E
                                                                如果您的得分列是固定的,不需要汇总,可以使用多个列SELECT和UNION ALL句子生成所需的数据形状。3 e" g. D+ C- B  i" m' }
SELECT [VAR1],[VAR2],[VarName] = 'Score1',[Value] = [Score1]FROM [dbo].[UnknownMe]UNION ALLSELECT [VAR1],[VAR2],[VarName] = 'Score2',[Value] = [Score2]FROM [dbo].[UnknownMe]UNION ALLSELECT [VAR1],[VAR2],[VarName] = 'Score3',[Value] = [Score3]FROM [dbo].[UnknownMe]SQL小提琴:http://sqlfiddle.com/#!6 / f54b2
4 s" L  {' d* v/ K/ 4/0
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则