如果列是固定的,我还可以做(case一个一个列出来)...但是现在是固定的,也就是说有可能级别有5,6,7....这样就要把所有的级别列出来,而不是从中选几个显示出来,怎么写SQL语句?
-----------------------
declare @sql varchar(8000)
set @sql = 'select 地区'
select @sql = @sql + ',sum(case 级别 when '''+cast(级别 as varchar(10))+''' then 1 else 0 end) as ['+cast(级别 as varchar(10))+'的店数]'
from (select distinct 级别 from A表) as a
select @sql = @sql+' from A表 group by 地区'