已知数据表数据如(表一),请将它动态显示成(表二)格式
create table StudentInfo(Sname varchar(10) , Subject varchar(10) , Scorefloat)
insert into StudentInfo values('张三' , '.Net' , 80)
insert into StudentInfo values('张三' , 'JAVA' , 85)
insert into StudentInfo values('张三' , 'SQL' , 95)
insert into StudentInfo values('李四' , '.Net' , 86)
insert into StudentInfo values('李四' , 'JAVA' , 92)
insert into StudentInfo values('王五' , '.Net' , 96)
insert into StudentInfo values('王五' , 'JAVA' , 88)
insert into StudentInfo values('王五' , 'SQL' ,78)
姓名
课程
成绩
张三
.Net
80
张三
JAVA
85
张三
SQL
95
李四
.NET
86
李四
JAVA
92
王五
.NET
96
王五
JAVA
88
王五
SQL
78
姓名
.NET
JAVA
SQL
张三
80
85
95
李四
86
92
王五
96
88
78
(表一) (表二)
9 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
@小兴o………o: ID CLASS SCORE
------ ---------- ----------
1 language 78
2 english 98
3 maths 94
1 maths 85
2 maths 56
---------------------------------------------
select id,sum(decode(class,'language',score,0)) "语文",
sum(decode(class,'english',score,0)) "英语",
sum(decode(class,'maths',score,0)) "数学"
from tp1
group by id--------------------用动态SQL 语句,Score是不定数的
ID 语文 英语 数学
------- ---------- ---------- ----------
1 78 0 85
2 0 98 56
3 0 0 94
手掌心
TA贡献1942条经验 获得超3个赞
@無限遐想: selectA1.姓名,
sum(case A1.课程 when ‘.NET’ )as '.NET',
sum(case A1.课程 when ‘JAVA’ )as 'JAVA',
sum(case A1.课程 when ‘SQL’ )as 'SQL'
from A A1
group by A1.姓名
- 9 回答
- 0 关注
- 619 浏览
添加回答
举报
0/150
提交
取消