可能重复:
将多行连接成一个文本字符串?
假设我有一个名为tblContractMail
. 带有数据的示例表如下:
我需要编写一个产生以下输出的 SQL 查询:
'abc@akij.net;efg@akij.net;hjk@akij.net'
我知道两种可能性:
DECLARE @str varchar(4000)
SELECT @str = COALESCE(@str + ';', '') + strContract FROM tblContractMail
SELECT @str
和:
DECLARE @str varchar(4000)
SET @str = (SELECT strContract + ';' FROM tblContractMail FOR XML PATH(''))
SET @str = SUBSTRING(@str, 1, LEN(@str)-1)
SELECT @str
有什么方法可以在单个查询中获得此输出(我的意思是不声明任何变量)?