日期:2014-05-17  浏览次数:20728 次

转置并汇总
请问各位大师,转置并汇总应该如何写SQL,例子如下:

人员 休假类别 天数
  A         X        1
  A         X        0.5
  A         Y        1
  A         Y        1
  A         Y        1
  A         Z        0.5
  A         Z        0.5
  A         Z        1
  B         X        1
  B         X        1
  B         Y        0.5
  B         Y        0.5
  B         Y        1
  B         Z        0.5
  B         Z        0.5
  B         Z        0.5


想得到的结果如下:
人员 休假X 休假Y 休假Z
A     1.5        3        2
B       2         2        1.5
转置并汇总

------解决方案--------------------
create table tab8
(
 pople varchar(50),
 type varchar(50),
 num varchar(50)
 )
insert into tab8
 select 'A','X','1' union all
 select  'A','X',        '0.5' union all
select   'A','Y',       '1' union all
select   'A','Y',        '1' union all
select   'A','Y',        '1' union all
select   'A','Z',        '0.5' union all
select   'A','Z',        '0.5' union all 
select   'A','Z',        '1' union all
select   'B','X',        '1' union all
select   'B','X',        '1' union all
select   'B','Y',        '0.5' union all
select   'B','Y',        '0.5' union all
select   'B','Y',        '1' union all
select