还来?
http://community.csdn.net/Expert/topic/4842/4842684.xml?temp=.833523

解决方案 »

  1.   


    Create Table TEST
    (月份 Varchar(2),
     销售 int
    )
     
    Insert TEST Select '01',  100
    Union All Select '02',200
    Union All Select '03',300
     
    GO
    Select '销售',
    SUM(Case 月份 When '01' Then 销售 Else 0 End) As '01月',
    SUM(Case 月份 When '02' Then 销售 Else 0 End) As '02月',
    SUM(Case 月份 When '03' Then 销售 Else 0 End) As '03月' 
    From TEST
      

  2.   

    --动态
    declare @t int
    declare @sql varchar(8000)
    set @sql='select ''销售'' '
    select @sql=@sql+',['+月份+']=sum(case 月份 when '''+月份+''' then 销售 else 0 end)' from test group by 月份
    select @sql=stuff(@sql,12,1,'')
    exec (@sql+' from test ')
      

  3.   

    2005有提供专门的处理语句select 月份='销售', *
    from test
    pivot(
    sum(销售)
    for 月份 in([01], [02], [03], [04], [05], [06], [07], [08], [09], [10], [11], [12])
    )P