ORACLE:
select 学号,sum(decode(课程号,1010,成绩,0)) as '1010',
sum(decode(课程号,1011,成绩,0)) as '1011',
sum(decode(课程号,1013,成绩,0)) as '1013'
from table
group by 学号
select 学号,sum(decode(课程号,1010,成绩,0)) as '1010',
sum(decode(课程号,1011,成绩,0)) as '1011',
sum(decode(课程号,1013,成绩,0)) as '1013'
from table
group by 学号
sum(decode(课程号,1011,成绩,0)) as '1011',
类似的
在sql server中就是
sum(case when 课程号='1011' then 成绩 else 0 end) as '1001'之类的
CREATE TABLE cj
(
xh NUMBER(4),
kch NUMBER(4),
cj NUMBER(4)
);
INSERT INTO cj VALUES(1,1010,98);
INSERT INTO cj VALUES(1,1011,75);
INSERT INTO cj VALUES(1,1013,90);
INSERT INTO cj VALUES(2,1010,92);
INSERT INTO cj VALUES(2,1011,61);
INSERT INTO cj VALUES(3,1013,65);
select xh,sum(decode(kch,1010,cj,0)) A1010,
sum(decode(kch,1011,cj,0)) A1011,
sum(decode(kch,1013,cj,0)) A1013
from cj
group by xh
Select ... From ....
Group By ...
Pivot ...
一条语句即可。一条分组语句。