我的专栏是这样的:
COL1
玛丽
杰克
约翰
我需要得到这样的东西: 玛丽,杰克,约翰
我是通过使用"对于XML PATH"来做的,但问题是该段在SQL Server视图中不起作用, 有没有其他方法来连接一列?
答案 0 :(得分:3)
尝试使用SQL COALESCE exression将列值转换为逗号分隔的字符串。
这是你需要做的。
DECLARE @test TABLE (
SampleCol varchar(50)
)
INSERT INTO @Test
VALUES ('Test')
INSERT INTO @Test
VALUES ('Test 1')
INSERT INTO @Test
VALUES ('Test 2')
INSERT INTO @Test
VALUES ('Test 3')
INSERT INTO @Test
VALUES ('Test 4')
DECLARE @aa varchar(200)
SET @aa = ''
SELECT
@aa =
COALESCE(CASE
WHEN @aa = '' THEN SampleCol
ELSE @aa + ',' + SampleCol
END
, '')
FROM @test
SELECT
@aa
这是一个完整的 SQLFIDDLE
答案 1 :(得分:0)
试试这个:
DECLARE @tbl TABLE(col1 VARCHAR(10));
INSERT INTO @tbl VALUES('Mary'),('Jack'),('John');
SELECT
STUFF
(
(
SELECT ', ' + col1
FROM @tbl
FOR XML PATH('')
)
,1,2,'')