MS Sql Server中的查询将在一个字符串中连接我的行,用逗号分隔(如下所示)
答案 0 :(得分:9)
创建并填充样本表(请在将来的问题中保存此步骤)
DECLARE @T AS TABLE
(
Name varchar(10)
)
INSERT INTO @T VALUES
('John'),
('Vicky'),
('Sham'),
('Anjli'),
('Manish')
查询:
SELECT STUFF((
SELECT ',' + Name
FROM @T
FOR XML PATH('')
), 1, 1, '') As [output];
结果:
output
John,Vicky,Sham,Anjli,Manish
答案 1 :(得分:2)
假设您的列名为NAME
且表名为MYTABLE
,您可以使用以下查询:
DECLARE @strTemp VARCHAR(MAX)
SET @strTemp = ''
SELECT @strTemp = @strTemp + ISNULL(NAME,'') + ','
FROM MYTABLE
--Remove last comma
SET @strTemp = SUBSTRING(@strTemp ,1,LEN(@strTemp ) -1)
--Get Result
SELECT @strTemp
您可以使用以下
过滤空记录SELECT @strTemp = @strTemp + NAME + ','
FROM MYTABLE
WHERE NAME IS NOT NULL