MySQL橫縱表相互轉化

2021-08-17 12:17:54 字數 1910 閱讀 4144

先建立乙個成績表(縱表)

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...