千家信息网

oracle 行转列

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,Create table test (name char(10),km char(10),cj Number)insert into test values('张三','语文',80)insert i
千家信息网最后更新 2024年10月01日oracle 行转列

Create table test (name char(10),km char(10),cj Number)

insert into test values('
张三','语文',80)
insert into test values('
张三','数学',86)
insert into test values('
张三','英语',75)
insert into test values('
李四','语文',78)
insert into test values('
李四','数学',85)
insert into test values('
李四','英语',78)

commit;
怎样实现成这样:
name
语文 数学 英语
李四 78 85 83
张三 80 86 75

select
name,
sum(decode(km,'
语文',cj,0) 语文,
sum(decode(km,'
数学',cj,0) 数学,
sum(decode(km,'
英语',cj,0) 英语
from test group by nameTop

0