首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教Sql sever中怎么才能实现Access中的交叉表查询

2012-02-25 
请问Sql sever中如何才能实现Access中的交叉表查询急Access 中的代码如下:TRANSFORM Sum(a.数量) AS 数量

请问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


[解决办法]

SQL code
--> 测试数据: #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*/ 

热点排行