gpt4 book ai didi

sql - 如何在 COALESCE() 中获得不同的值

转载 作者:行者123 更新时间:2023-12-02 14:12:39 25 4
gpt4 key购买 nike

我有这种格式的表值

sam
jack
sam
john

Declare @name varchar(max)
select @name = COALESCE(@name + ', ','')+ user_email
from PostedCommentMaster where article_id = @id

如何获得独特的值(value)

sam,jack,john

像这样。

最佳答案

您可以将 select 语句包装到子选择中并对结果应用合并。

Declare @name varchar(max) 

select @name = COALESCE(@name + ', ','') + user_email
from (select distinct user_email
from PostedCommentMaster
where article_id = @id) pc

请注意,这使用了 SQL Server 的一项未记录的功能将结果连接到一个字符串中。虽然我再也找不到它的链接,但我记得读过你不应该依赖这种行为。

更好的替代方法是使用 FOR XML 语法返回连接的字符串。 A search on SO返回多个结果,您可以将其用作示例。

关于sql - 如何在 COALESCE() 中获得不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com