insert test values('张三','语文',80)
insert test values('张三','数学',86)
insert test values('张三','英语',75)
insert test values('李四','语文',78)
insert test values('李四','数学',85)
insert test values('李四','英语',78)
想变成
姓名 语文 数学 英语
张三 80 86 75
李四 78 85 78
其中KM列数不定,也就说课目是动态变化的
Create table test1 (name VARCHAR2(100),km VARCHAR2(100),cj int);
insert into test1(name, km,cj) values('张三','语文',80);
insert into test1 values('张三','数学',86);
insert into test1 values('张三','英语',75);
insert into test1 values('李四','语文',78);
insert into test1 values('李四','数学',85);
insert into test1 values('李四','英语',78);
select name,
sum(decode(km,'语文',CJ,0)) 语文 ,
sum(decode(km,'数学',cj,0)) 数学,
sum(decode(km,'英语',cj,0)) 英语
from test1
group by name