1、**中有如下資料 姓名
科目一月
二月三月
張三 語文
3040
50張三
數學 56
6578
張三 英語
2886
48李四
語文31
4151
李四數學
5766
79李四
英語29
8749
先要轉換成
姓名一月語文
二月語文
三月語文
一月數學
二月數學
三月數學
一月英語
二月英語
三月英語
李四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 中有如下資料 姓名科目 一月二月 三月張三 語文30 4050 張三 數學 5665 78張三 英語28 8648 李四語文 3141 51李四 數學 57 6679 李四英語 2987 49先要轉換成 姓名一月語文 二月語文 三月語文 一月數學 二月數學 三月數學 一月英語 二月英語 三月英語...
怎樣把資料庫的行轉成列
有如下格式的表 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 銷售訂單號...