问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle 多行转多列,求SQL语句,转多列的时候可能有空列(不连续的),具体看下图,或者有疑问我会及时回答

发布网友 发布时间:2022-08-17 18:21

我来回答

1个回答

热心网友 时间:2023-10-13 13:32

以下是我 用动态SQL 实现 行列转换的实例 虽然不是你上面的几张表但是你可以根据我的写法 转换看看
--------------------------------------用动态SQL 实现行列转换
create table tb
(
t_name varchar2(10),
t_course varchar2(10),
t_score number
);

insert into tb values('张三','语文',73);
insert into tb values('张三','数学',83);
insert into tb values('张三','物理',93);
insert into tb values('张三','英语',63);
insert into tb values('李四','语文',74);
insert into tb values('李四','数学',84);
insert into tb values('李四','物理',94);
insert into tb values('李四','英语',64);
commit
select *from tb;
--------------
declare
t_name varchar2(10);
t_course1 number;
t_course2 number;
t_course3 number;
t_course4 number;
type c_type is ref cursor;
cur c_type;
begin
open cur for
'select t_name,
sum(case t_course when '''||'语文'||'''then t_score else 0 end),
sum(case t_course when '''||'数学'||'''then t_score else 0 end),
sum(case t_course when '''||'物理'||'''then t_score else 0 end),
sum(case t_course when '''||'英语'||'''then t_score else 0 end)
from tb group by t_name';
loop
fetch cur into t_name, t_course1 ,t_course2,t_course3,t_course4;
exit when cur%notfound;
dbms_output.put_line(t_name||'语文'||t_course1||'数学'||t_course2||'物理'||t_course3||'英语'||t_course4);
end loop;
close cur;
end;

满意请接受我的答案 并采纳 谢谢!追问自己到网上找了类似的,然后最终自己写出来了, 回答的那个是不对的, 值不是数字,不能用sum的; decode 这个才是核心,然后再wm_concat合并多行,得到最终结果 ;
当然也很感谢你的回答,虽然公布这个答案时才看到你的回答!^_^

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
css布局绝对定位和相对定位疑惑? 湖北对口单招有哪些大学 湖北单招最好考的学校有哪些 玻璃隔断吗 《八佰》中的南岸刀子,《药神》中的沉默黄毛 有哪些适合新手养的蛇品种推荐? 新手喂养什么宠物蛇比较好? 色叔叔茜色是什么色 仓鼠上窜下跳一直不停,是什么原因? 禽医静心谈鸭黄病毒的主要症状有哪些?鸭子得了黄病毒怎么治疗? 我的QQ分组怎么没了? ms sql怎么把多行变为多列 求实用信号源的设计毕业论文 求实用信号源的设计毕业论文 碧海之命运之轮1.04正式版隐藏英雄密码 碧海之命运之轮1.04正式版攻略 苹果平板电脑不用手机号码要注册一个要怎样申请? 吞食天地-时空之轮V1.4正式版攻略 吞食天地-时空之轮V1.4正式版隐藏英雄密码 在ipadair怎么用qq号码注册码 异火灵界1.3.5隐藏英雄密码 七界之颠0.3正式版 附隐藏英雄密码和攻略 怎么用 苹果平板电脑不用手机号码要注册一个要怎样申请? 在ipadair怎么用qq号码注册码 平板怎么注册? 平板怎么注册? 出国用的在职证明怎么开的? 老公单位派他出国工作,老婆要随行。老婆办签证需要什么证件? 公司法人的妻子(老板娘)出国旅游,怎么开在职证明 南京宁美生物科技有限公司怎么样? 南京凯创生物技术有限公司怎么样? 南京凯基生物科技发展有限公司怎么样,公司性质为国企。 南京苏赛生物工程有限公司怎么样? 魅族手机没进过水为什么售后说人为进水不保修 关于魅族m8进水 苏州洁维清洁服务有限公司怎么样? That's beside the point.什么意思 孕妇9个月昨天晚上梦见鱼 买车可以用住房公积金吗 平时和人交流怎么说话 与人沟通交流说话技巧 奥比岛怎么取消关注 怎样让画在衣服上的图案不掉如题 谢谢了 电脑输入法un出来的特殊符号 电脑un是什么意思 zhinenABC 特殊符号像un那个符号怎么打 请问下这个符号怎么打 键盘打字打‘U'出现'UN'怎么办 长安之星6363内部空间尺寸是多大? 长安之星6363车身有多长 长安之星6363原厂火花塞型号 谁知道长葛梦金园黄金回收价是多少钱