再问一句SQL
表A数据如下:   
 FYear   FNum 
 2006      1 
 2006      2 
 2006      3 
 2007      4 
 2007      5 
 2007      6   
 按如下格式显示:   
 年度      2006      2007 
 汇总 6               15      
 select   fyear   as 年度   sum(FNum)   as   汇总 from   table group   by   fyear    
 这样显示的不对 
 年度 汇总 
 2006 6 
 2007 15   
------解决方案--------------------select  
     fyear , 
     sum(case when fyear =2006 then FNum else 0 end) as [2006], 
     sum(case when fyear =2007 then FNum else 0 end) as [2007] 
 from 表名 
 group by fyear
------解决方案----------------------借用下数据: 
 create table T(FYear int, FNum int)   
 insert into T select 2006,  1 
 insert into T select 2006,  2 
 insert into T select 2006,  3 
 insert into T select 2007,  4 
 insert into T select 2007,  5 
 insert into T select 2007,  6   
 select fyear,sum(case when fyear= '2006 ' then fnum else 0 end) as [2006] ,sum(case when fyear= '2007 ' then fnum else 0 end) as [2007] 
 from t group by fyear     
 declare @sql varchar(8000) 
 set @sql= 'select fyear  ' 
 select @sql=@sql+ ', '+  'sum(case when fyear= ' ' '+ rtrim(fyear)+  ' ' ' then fnum else 0 end ) as [  '+ rtrim(fyear)+ '] '  
 from (select distinct fyear from t  ) a 
 set @sql=@sql+ ' from t group by fyear ' 
 exec(@sql)   
 fyear        2006        2007        
 ----------- ----------- -----------  
 2006        6           0 
 2007        0           15