【发布时间】:2016-11-20 18:57:35
【问题描述】:
我有以下查询,从我的 Junction 表和 Category 表中选择“CategoryName”。
SELECT CategoryName
FROM BND_ListingJunction_testing j
JOIN BND_ListingCategories c ON c.CatID = j.Junc_CatID
WHERE j.Junc_LID = 3
在 SQL 中,这可以正常工作,并为我的联结表中 LID 匹配的任何类别显示 X 行。
然而,我的 Web 应用程序在创建令牌时只读取第一个结果。是否可以提取 X 行的结果集并将它们全部显示在 1 行中,以逗号分隔。
例如:如果 LID=1 是类别的 5 次,则上述查询将为我的联结表中存在的每个类别返回 5 行。
我想要一个看起来像这样的结果集(在一列中):
Category1, Category2, Category3, Category4, Category5
代替:
1 Category1
2 Category2
3 Category3
4 Category4
5 Category5
我再次以 5 为例,一条记录可以有 1-X 个类别。
---更新
我尝试了以下似乎可行但没有在结果之间添加 , 开头的方法。
Declare @Cats as Nvarchar(max) = ','
Select @Cats = @Cats + CategoryName
From BND_ListingJunction_testing j
JOIN BND_ListingCategories c on c.CatID = j.Junc_CatID
Where j.Junc_LID = 3
Print(@Cats)
【问题讨论】:
标签: sql sql-server tsql