这应该是一个简单的,但我遇到了麻烦。我想从我拥有的表创建动态分隔列表。例如:
表:
Email
Person1@address.com
Person2@address.com
最终结果应该给我
Person1@address.com; person2@address.com
我不确定获得这些结果的正确方法是什么。我认为我可以用ForXML做到这一点,但对于看似简单的问题来说它非常复杂。
任何建议都将不胜感激。我将继续搞乱我发现的ForXml示例。
答案 0 :(得分:2)
这应该会回复所需的结果:
SELECT STUFF((SELECT ';'+ Email AS [text()] FROM Person FOR XML PATH('')),1,1,'');
答案 1 :(得分:1)
declare @emailstring varchar(max) = ''
select @emailstring = @emailstring + email + ';'
from tablename
set @emailstring = left(@emailstring,len(@emailstring)-1)
答案 2 :(得分:0)
看起来你正在使用分号,所以在MySQL
你可以做
select group_concat(Email SEPARATOR ';')
from Table
你已经完成了。