请问Sql sever中如何才能实现Access中的交叉表查询急
Access 中的代码如下:
TRANSFORM Sum(a.数量) AS 数量之总计
SELECT a.门店
FROM a
GROUP BY a.门店
PIVOT a.名称;
表A 内容 :
名称门店数量
aaa1aaa10
bbb1bbb12
aaa1bbb4
bbb1aaa6
ccc1aaa2
ccc1bbb1
ccc1aaa1
aaa1aaa1
bbb1bbb1
ccc1bbb1
查询完的结果为:
门店aaa1bbb1ccc1
aaa1163
bbb4132
[解决办法]
--> 测试数据: #Aif object_id('tempdb.dbo.#A') is not null drop table #Acreate table #A (名称 varchar(4),门店 varchar(3),数量 int)insert into #Aselect 'aaa1','aaa',10 union allselect 'bbb1','bbb',12 union allselect 'aaa1','bbb',4 union allselect 'bbb1','aaa',6 union allselect 'ccc1','aaa',2 union allselect 'ccc1','bbb',1 union allselect 'ccc1','aaa',1 union allselect 'aaa1','aaa',1 union allselect 'bbb1','bbb',1 union allselect 'ccc1','bbb',1--> SQL 2005select * from (select * from #A) as apivot (sum(数量) for 名称 in (aaa1,bbb1,ccc1)) as b/*门店 aaa1 bbb1 ccc1---- ----------- ----------- -----------aaa 11 6 3bbb 4 13 2*/