原来是
比如 原来是
学号 课程编号 分数
'9801’ 101 80
'9801' 102 90
'9801' 103 87
'9801' 104 65
'9801' 105 77
'9802' 101 77
'9802' 102 77
'9802' 103 77
'9802' 104 77
................
......
....
另一张表 是 课程编号 课程名称
101 语文
102 数学
... ...
还有一张表是 编号 姓名
9801 旺财
... ...
要转换成
姓名 语文 数学 英语 ....
旺财 80 90 97
.....
动态转换啊
高分啊!!
比如 原来是
学号 课程编号 分数
'9801’ 101 80
'9801' 102 90
'9801' 103 87
'9801' 104 65
'9801' 105 77
'9802' 101 77
'9802' 102 77
'9802' 103 77
'9802' 104 77
................
......
....
另一张表 是 课程编号 课程名称
101 语文
102 数学
... ...
还有一张表是 编号 姓名
9801 旺财
... ...
要转换成
姓名 语文 数学 英语 ....
旺财 80 90 97
.....
动态转换啊
高分啊!!
楼主【xumin51333】截止到2008-07-18 23:29:58的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:110 每贴平均分数:55
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:2 结贴的总分数:110
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
Declare
vStr varchar2(2000);
cursor myCur is select * from curTab;
vno number(4);
vna varchar2(30);
Begin
vStr := 'Create or replace view scrTab as select 姓名';
dbms_output.put_line(vStr);
for varA in myCur
loop
vStr := vStr||','||varA.curName;
dbms_output.put_line(','||varA.curName);
end loop;
vStr := vStr||' from stuTab,( select stuNo';
dbms_output.put_line(' from stuTab,( select stuNo');
for vCur in myCur
loop
vStr := vStr ||', sum(decode(curno,'||vCur.curno||',score)) as '||vCur.curName;
dbms_output.put_line(', sum(decode(curno,'||vCur.curno||',score)) as '||vCur.curName);
end loop;
vStr := vStr||' from resTab group by stuNo) tabC where stuTab.学号 = tabC.stuNo';
dbms_output.put_line(' from resTab group by stuNo) tabC where stuTab.学号 = tabC.stuNo');
execute immediate vStr;
End;
/