早教吧作业答案频道 -->其他-->
oracle利用decode函数竖表改横表,表内容如下:姓名课别成绩张三良好张三及格张三英语较好李四良好李四及格李四英语较好变成:姓名英语张三良好及格较好李四良好及格较好因
题目详情
oracle利用decode函数竖表改横表,
表内容如下:
姓名 课别 成绩
张三 良好
张三 及格
张三 英语 较好
李四 良好
李四 及格
李四 英语 较好
变成:
姓名 英语
张三 良好 及格 较好
李四 良好 及格 较好
因为栏位不是数字,不能使用SUM进行合并,造成结果集很散,同一个人还是存在多行,怎样才能达到想要的结果样子
位置 料号 条码
C-Shipping\x095811-5044-0170A2 EHB1141501
C-Shipping\x095812-5044-0070A2 ETC0142706
C-Shipping\x095811-5044-0170A2 EHB1141502
C-Shipping\x095812-5044-0070A2 ETC0142702
FATP 5811-5044-0170A2 EFF0143213
FATP 5812-5044-0070A2 EFF0142740
FATP 5811-5044-0170A2 EFF0143211
FATP 5812-5044-0070A2 EFF0142741
变成横表,表头是位置,料号1,料号2,料号...料号下面是对应的条码
表内容如下:
姓名 课别 成绩
张三 良好
张三 及格
张三 英语 较好
李四 良好
李四 及格
李四 英语 较好
变成:
姓名 英语
张三 良好 及格 较好
李四 良好 及格 较好
因为栏位不是数字,不能使用SUM进行合并,造成结果集很散,同一个人还是存在多行,怎样才能达到想要的结果样子
位置 料号 条码
C-Shipping\x095811-5044-0170A2 EHB1141501
C-Shipping\x095812-5044-0070A2 ETC0142706
C-Shipping\x095811-5044-0170A2 EHB1141502
C-Shipping\x095812-5044-0070A2 ETC0142702
FATP 5811-5044-0170A2 EFF0143213
FATP 5812-5044-0070A2 EFF0142740
FATP 5811-5044-0170A2 EFF0143211
FATP 5812-5044-0070A2 EFF0142741
变成横表,表头是位置,料号1,料号2,料号...料号下面是对应的条码
▼优质解答
答案和解析
不能用sum,可以用max
select 姓名,max(decode(课别,'语文',成绩,'')) 语文,
max(decode(课别,'数学',成绩,'')) 数学,
max(decode(课别,'英语',成绩,'')) 英语
from tabname
group by 姓名
select 姓名,max(decode(课别,'语文',成绩,'')) 语文,
max(decode(课别,'数学',成绩,'')) 数学,
max(decode(课别,'英语',成绩,'')) 英语
from tabname
group by 姓名
看了oracle利用decode函...的网友还看了以下:
比较每组中的两个句子,说一说为什么B句比A句好?A句:他们把园内能拿走的东西,都拿走了.B句:比较 2020-05-16 …
若对一个已经排好了序的序列进行排序,在下列四种排序方法中;哪种方法比较好?()A.冒泡法B.直接选 2020-05-23 …
与聚氯乙烯管、聚乙烯管比较,无规共聚聚丙烯管的特点包括( )。A.较好的耐磨性B.较高的强度C.较好 2020-06-07 …
有四杯水A杯水较少温度40BCD杯水量相同B温度30C温度40D温度90那两杯水不好比较内能注意是 2020-06-10 …
在“学校安全工程”启动后,某校从本校1200名学生中随机抽取了200名学生就对学校安全常识的了解情 2020-06-10 …
那种英语证书比较实用我刚刚大专毕业,只过了英语A级,四级没过.现在想考个英语证书,比较实用点的,最好 2020-11-05 …
安全教育,警钟长鸣,某校随机抽取了部分学生就安全知识的了解情况进行调查问卷,其中“很好”、“较好”、 2020-11-11 …
某校对九年级500名同学完成数学学习任务情况进行随机抽查,抽查结果分为“很好”、“较好”、“一般”、 2020-12-06 …
关于人鸟声具绝的四字成语有那些就是符合人鸟声具绝的意境但是是四个字的成语最好比较贴切这种的感觉最好是 2020-12-23 …
对于遗传力较高并且易于测定的性状采用哪种选种效果较好?对于遗传力较高并且易于测定的性状采用()选种效 2021-01-02 …