1、**中有如下資料
姓名科目
一月二月
三月張三
語文30
4050
張三 數學
5665
78張三
英語28
8648
李四語文
3141
51李四
數學 57
6679
李四英語
2987
49先要轉換成
姓名一月語文
二月語文
三月語文
一月數學
二月數學
三月數學
一月英語
二月英語
三月英語
李四31
4151
5766
7929
8749
張三30
4050
5665
7828
8648
2、建測試資料
create table grade_table(
stu_name varchar(20),
subject varchar(20),
month1 int default 0, --一月
month2 int default 0,--二月
month3 int default 0
);insert into grade_table(stu_name,subject,month1,month2,month3) values('張三','語文','30','40','50');
insert into grade_table(stu_name,subject,month1,month2,month3) values('張三','數學','56','65','78');
insert into grade_table(stu_name,subject,month1,month2,month3) values('張三','英語','28','86','48');
insert into grade_table(stu_name,subject,month1,month2,month3) values('李四','語文','31','41','51');
insert into grade_table(stu_name,subject,month1,month2,month3) values('李四','數學','57','66','79');
insert into grade_table(stu_name,subject,month1,month2,month3) values('李四','英語','29','87','49');
3、處理sql
select stu_name,sum(一月語文 ) 一月語文 ,sum(二月語文 ) 二月語文,sum(三月語文 ) 三月語文
,sum(一月數學 ) 一月數學 ,sum(二月數學 ) 二月數學,sum(三月數學 ) 三月數學
,sum(一月英語 ) 一月英語 ,sum(二月英語 ) 二月英語,sum(三月英語 ) 三月英語
from(
select stu_name,sum(case subject when '語文' then month1 end) as 一月語文
,sum(case subject when '語文' then month2 end) as 二月語文
,sum(case subject when '語文' then month3 end) as 三月語文
,sum(case subject when '數學' then month1 end) as 一月數學
,sum(case subject when '數學' then month2 end) as 二月數學
,sum(case subject when '數學' then month3 end) as 三月數學
,sum(case subject when '英語' then month1 end) as 一月英語
,sum(case subject when '英語' then month2 end) as 二月英語
,sum(case subject when '英語' then month3 end) as 三月英語
from grade_table
group by stu_name,subject
) group by stu_name --danielinbiti
Oracle把成績行的方式轉成列
1 中有如下資料 姓名 科目一月 二月三月 張三 語文 3040 50張三 數學 56 6578 張三 英語 2886 48李四 語文31 4151 李四數學 5766 79李四 英語29 8749 先要轉換成 姓名一月語文 二月語文 三月語文 一月數學 二月數學 三月數學 一月英語 二月英語 三月...
怎樣把資料庫的行轉成列
有如下格式的表 company name exchange listing countries business country byd otc pk usa chn byd szse chn chn byd xter gem chn byd hkse hk chn 怎麼樣轉成一列,後面帶listi...
把多行轉成一行 用空格分開
select t1.id as 銷售合同標識,t1.billno as 單據號,t1.orderno as 合同編號,select distinct salesorderno from salescompactorder where parentid t1.id for xml path 銷售訂單號...