SQL sever如何实现Access中的交叉表查询

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:14:46
Access 中的代码如下:
TRANSFORM Sum(a.数量) AS 数量之总计
SELECT a.门店
FROM a
GROUP BY a.门店
PIVOT a.名称;

表A 内容 :
名称 门店 数量
aaa1 aaa 10
bbb1 bbb 12
aaa1 bbb 4
bbb1 aaa 6
ccc1 aaa 2
ccc1 bbb 1
ccc1 aaa 1
aaa1 aaa 1
bbb1 bbb 1
ccc1 bbb 1

查询完的结果为:
门店 aaa1 bbb1 ccc1
aaa 11 6 3
bbb 4 13 2

declare @sql varchar(4000)
set @sql = 'select 名称'
select @sql = @sql + ',sum(case 门店 when '''+门店+''' then 数量 end) as '+门店
from (select distinct 门店 from CJ) as a
set @sql = @sql+' from cj group by 名称'
exec(@sql)

不懂!