我该如何修改这个SQL语句?

OrE*_*lse 4 sql t-sql group-by sql-server-2005 concatenation

我的SQL Server视图

SELECT     
   geo.HyperLinks.CatID, geo.Tags.Tag, geo.HyperLinks.HyperLinksID
FROM
   geo.HyperLinks LEFT OUTER JOIN
       geo.Tags INNER JOIN
       geo.TagsList ON geo.Tags.TagID = geo.TagsList.TagID ON geo.HyperLinks.HyperLinksID = geo.TagsList.HyperLinksID WHERE HyperLinksID = 1
Run Code Online (Sandbox Code Playgroud)

返回这些......

HyperLinksID CatID Tags
1            2     Sport
1            2     Tennis
1            2     Golf
Run Code Online (Sandbox Code Playgroud)

我应该如何修改上面的结果呢

HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1            2     Sport Tennis Golf
Run Code Online (Sandbox Code Playgroud)

更新:布拉德建议我来到这里......

DECLARE @TagList varchar(100)
SELECT @TagList = COALESCE(@TagList + ', ', '') + CAST(TagID AS nvarchar(100))
FROM TagsList
WHERE HyperLinksID = 1
SELECT @TagList
Run Code Online (Sandbox Code Playgroud)

现在结果看起来像

HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1            2     ID_OF_Sport ID_OF_Tennis ID_OF_Golf
Run Code Online (Sandbox Code Playgroud)

当然,我要的内容结合起来,从@TagList变量和原来 SELECT的语句...

这意味着我将不得不等待神圣的SO赏金:(

Bra*_*rad 11

如果是SQL,试试这篇文章:

连接行值

如果您想尝试使用CLR代码,可以再次为MS SQL创建用于连接的自定义聚合函数.

这篇文章非常详尽,有很多方法可以实现你的目标.