--建立测试环境
Create Table 表(店名 varchar(10),销售金额 varchar(10),销售数量 varchar(10),周 varchar(10))
--插入数据
insert into 表
select 'a1','100000','1000','1' union
select 'a1','90000','900','2' union
select 'a1','80000','800','3' union
select 'a2','10000','100','1' union
select 'a2','9000','90','2' union
select 'a2','8000','80','3'  
select * from 表
--测试语句
 
DECLARE @SQL VARCHAR(8000) 
SET @SQL='SELECT 店名' 
SELECT @SQL= @SQL+ ',max(CASE WHEN 周 = ''' + 周 + ''' THEN 销售金额 else 0 END) [周' + 周 + '金额]'+
                   ',max(CASE WHEN 周 = ''' + 周 + ''' THEN 销售数量 else 0 END) [周' + 周 + '数量]'
FROM (SELECT DISTINCT 周 FROM 表) A 
SET @SQL=@SQL+ ' FROM 表 GROUP BY 店名' 
EXEC (@SQL) 
 
--删除测试环境
Drop Table 表