--创建测试环境 Create table T (Class varchar(2),CallDate datetime, CallCount int) insert into T select ''''1'''',''''2005-8-8'''',40 union all select ''''1'''',''''2005-8-7'''',6 union all select ''''2'''',''''2005-8-8'''',77 union all select ''''3'''',''''2005-8-9'''',33 union all select ''''3'''',''''2005-8-8'''',9 union all select ''''3'''',''''2005-8-7'''',21 --动态SQL declare @s varchar(8000) set @s=''''select CallDate '''' select @s=@s+'''',[CallCount''''+Class+'''']=sum(case when Class=''''''''''''+Class+'''''''''''' then CallCount else 0 end)'''' from T group by Class set @s=@s+'''' from T group by CallDate order by CallDate desc '''' exec(@s)