求一高难度SQL语句解决思路

求一高难度SQL语句

--现有表如下
create table TheData(id int,name varchar(20),fillCount int ,fillMonth int );
/*
id---编号
name---名称
fillCount---填写数量
fillMonth---填写月份
*/
insert into TheData values(2322,'情况表',12,7);
insert into TheData values(2322,'情况表',6,8);
insert into TheData values(25,'新表',12,5);
insert into TheData values(25,'新表',6,9);


--需要得到如下数据:
--id    name   1月  2月   3月   4月   5月   6月   7月    8月   9月    10月    11月    12月
--2322  情况表  0    0      0    0     0     0     12     6     0      0        0       0
--25    情况表  0    0      0    0    12     0      0     0     6      0        0       0

--求高手指点



------解决方案--------------------
算了,写完吧,这哪叫高难度。。基础技能啊
--create table TheData(id int,name varchar(20),fillCount int ,fillMonth int );
--/*
--id---编号
--name---名称
--fillCount---填写数量
--fillMonth---填写月份
--*/
--insert into TheData values(2322,'情况表',12,7);
--insert into TheData values(2322,'情况表',6,8);
--insert into TheData values(25,'新表',12,5);
--insert into TheData values(25,'新表',6,9);


SELECT id,name,'1月'=MAX(CASE fillMonth when 1 THEN fillCount ELSE 0 END ),'2月'=MAX(CASE fillMonth when 2 THEN fillCount ELSE 0 END ),
'3月'=MAX(CASE fillMonth when 3 THEN fillCount ELSE 0 END ),'4月'=MAX(CASE fillMonth when 4 THEN fillCount ELSE 0 END ),
'5月'=MAX(CASE fillMonth when 5 THEN fillCount ELSE 0 END ),'6月'=MAX(CASE fillMonth when 6 THEN fillCount ELSE 0 END ),
'7月'=MAX(CASE fillMonth when 7 THEN fillCount ELSE 0 END ),'8月'=MAX(CASE fillMonth when 8 THEN fillCount ELSE 0 END ),
'9月'=MAX(CASE fillMonth when 9 THEN fillCount ELSE 0 END ),'10月'=MAX(CASE fillMonth when 10 THEN fillCount ELSE 0 END ),
'11月'=MAX(CASE fillMonth when 11 THEN fillCount ELSE 0 END ),'12月'=MAX(CASE fillMonth when 12 THEN fillCount ELSE 0 END )
FROM TheData
GROUP BY id,name

/*
id          name                 1月          2月          3月          4月          5月          6月          7月          8月          9月          10月         11月         12月
----------- -------------------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
2322        情况表                  0           0           0           0           0           0           12          6           0           0           0           0
25          新表                   0           0           0           0           12          0           0           0           6           0           0           0