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

一条SQL,请帮忙解决方法

2012-03-29 
一条SQL,请帮忙CREATETABLE#A(AINT,BINT)INSERTINTO#ASELECT1,2CREATETABLE#A(AINT,BINT)INSERTINTO#ASELE

一条SQL,请帮忙
CREATE   TABLE   #A(A   INT,B   INT)
INSERT   INTO   #A   SELECT   1,2  
CREATE   TABLE   #A(A   INT,B   INT)
INSERT   INTO   #A   SELECT   1,3  
INSERT   INTO   #A   SELECT   2,4  
INSERT   INTO   #A   SELECT   2,5  
INSERT   INTO   #A   SELECT   3,6  
INSERT   INTO   #A   SELECT   3,7  

SELECT   *   FROM   #A   T1  

如何用一条SQL出以下结果
A     B
1   2,3
2   4,5
3   6,7
谢谢

[解决办法]
CREATE TABLE #A(A INT,B INT)
INSERT INTO #A SELECT 1,2
INSERT INTO #A SELECT 1,3
INSERT INTO #A SELECT 2,4
INSERT INTO #A SELECT 2,5
INSERT INTO #A SELECT 3,6
INSERT INTO #A SELECT 3,7
go
SELECT *
FROM(
SELECT DISTINCT
A
FROM #A
)A
OUTER APPLY(
SELECT
[values]=STUFF(REPLACE(REPLACE(
(
SELECT B FROM #A N
WHERE A= A.A
FOR XML AUTO
), ' <N B= " ', ', '), ' "/> ', ' '), 1, 1, ' ')
)N

/*
A values
----------- ---------
1 2,3
2 4,5
3 6,7

*/
Drop table #a

热点排行
Bad Request.