急求:SQL语句进行行列转换!!!
发布网友
发布时间:2022-04-07 17:48
我来回答
共1个回答
热心网友
时间:2022-04-07 19:17
你的这种变化貌似是毫无意义的,或许
你想要的变换时下面的这种情况吧。
******原来的纵表tb*****
学号
科目
成绩
1001
语文
90
1001
数学
80
1001
英语
70
1002
语文
95
1002
数学
85
1002
英语
75
*****目标的横表*****
学号
语文
数学
英语
总分
1001
90
80
70
240
1002
95
85
75
255
sql语句:
select
学号
as
'学号',
sum(case
科目
when
'语文'
then
成绩
else
0
end)
as
'语文',
sum(case
科目
when
'数学'
then
成绩
else
0
end)
as
'数学',
sum(case
科目
when
'英语'
then
成绩
else
0
end)
as
'英语',
sum(case
when
科目!=''
then
成绩
end)
as
'总分'
from
tb
group
by
学号