用于电子邮件分发的多行连接

时间:2014-05-01 20:37:22

标签: sql sql-server sql-server-2012 concatenation

我正在与没有AD分发组的组织合作。 SQL是2012.一个表包含标识符行,然后第二行包含相应的电子邮件地址。我想运行一个脚本来根据标识符获取电子邮件地址,并创建一个由半冒号分隔的字符串。

所以:

SELECT [Email Address] FROM MYTABLE WHERE ID="ABC" 

Result:
123@email.com
345@email.com
567@email.com

我想要123@email.com; 345@email.com; 567@email.com

的结果

哪种方法最有效,递归,数据透视,SQL连接?

我想要一些相当直接的东西,我只是不确定最好的方法是什么。非常感谢任何提示或建议。 谢谢!

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

DECLARE @email VARCHAR(8000)  
SELECT @email = COALESCE(@email + ';', '') + [Email Address] FROM MYTABLE WHERE ID='ABC' 
SELECT @email