sql 一行 换 多行多列

来源:互联网 发布:linux分区方案 知乎 编辑:程序博客网 时间:2024/04/30 11:32
有如下一行数据

学生1 学生2 学生3 语文1 语文2 语文3 数学1 数学2 数学3
贾某  艺谋  并某  69    78    90    56    85    89


请问如何转换成:

学生 语文 数学
贾某 69   56
艺谋 78   85
并某 90   89

总分 237  230    467



答:

select 学生1,语文1,数学1 from tb
union all
select 学生2,语文2,数学2 from tb
union all
select 学生3,语文3,数学3 from tb
union all
select '总分',语文1+语文2+语文3,数学1+数学2+数学3 from tb

0 0
原创粉丝点击