先建立乙個成績表(縱表)
create
table user_score
( name varchar(20),
subjects varchar(20),
score int
);insert
into user_score(name,subjects,score) values('張三','語文',60);
insert
into user_score(name,subjects,score) values('張三','數學',70);
insert
into user_score(name,subjects,score) values('張三','英語',80);
insert
into user_score(name,subjects,score) values('李四','語文',90);
insert
into user_score(name,subjects,score) values('李四','數學',100);
再建立乙個成績表(橫表)
create
table user_score2
( name varchar(20),
yuwen int,
shuxue int,
yingyu int
);insert
into user_score2(name,yuwen,shuxue,yingyu) values('張三',60,70,80);
insert
into user_score2(name,yuwen,shuxue,yingyu) values('李四',90,100,0);
縱表轉橫表
select name,sum(case subjects when
'語文'
then score else
0end) as
'語文',sum(case subjects when
'數學'
then score else
0end) as
'數學', sum(case subjects when
'英語'
then score else
0end) as
'英語'
縱表轉橫表
oracle橫縱表相互轉換
縱表轉橫表 create global temporary table test2 uname varchar2 10 subject varchar2 10 score number insert into test2 values 王五 語文 80 insert into test2 value...
oracle橫縱表相互轉換
縱表轉橫表 create global temporary table test2 uname varchar2 10 subject varchar2 10 score number insert into test2 values 王五 語文 80 insert into test2 value...
SQL server橫表縱表相互轉換
name course grade 張三yuwen 75張三 shuxue 80李四 yingyu 90李四 yuwen 95李四 shuxue 55name yuwen shuxue yingyu 張三75 8090 李四95550 縱表轉橫表 select name,sum case cours...