【发布时间】:2011-04-18 23:04:03
【问题描述】:
我的 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
返回这些...
HyperLinksID CatID Tags
1 2 Sport
1 2 Tennis
1 2 Golf
我应该如何修改上述内容以获得类似的结果
HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1 2 Sport Tennis Golf
更新:正如布拉德建议我来到这里......
DECLARE @TagList varchar(100)
SELECT @TagList = COALESCE(@TagList + ', ', '') + CAST(TagID AS nvarchar(100))
FROM TagsList
WHERE HyperLinksID = 1
SELECT @TagList
现在结果看起来像
HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1 2 ID_OF_Sport ID_OF_Tennis ID_OF_Golf
当然,我必须将 from the@TagList 变量和 original SELECT 语句的内容...
这意味着我将不得不等待神圣的 SO 赏金 :(
【问题讨论】:
标签: sql sql-server-2005 tsql group-by concatenation