解决方案 »

  1.   

    --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 ),'5月'=MAX(CASE fillMonth when 5 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 )FROM TheData
    GROUP BY id,name/*
    id          name                 1月          5月          7月          8月          9月
    ----------- -------------------- ----------- ----------- ----------- ----------- -----------
    2322        情况表                  0           0           12          6           0
    25          新表                   0           12          0           0           6
    */
      

  2.   

    算了,写完吧,这哪叫高难度。。基础技能啊--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
    */