私の接合テーブルとカテゴリテーブルから "CategoryName"を選択している次のクエリがあります。Select Statementは、接合テーブルの値を1つのカンマ区切り文字列に変換します。
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回ある場合、上記のクエリは、私のジャンクションテーブルに存在するカテゴリごとに1つずつ5行を返します。
私は(1列で)次のようになり、結果セットしたいのです:再び私は例として5を使用してい
1 Category1
2 Category2
3 Category3
4 Category4
5 Category5
:
Category1, Category2, Category3, Category4, Category5
代わりのをレコードは1-Xカテゴリから任意の場所に配置できます。
--- UPDATE
私は初めに結果のみ1の間、動作しているようですが、追加されることはありません、以下を試してみました。
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で同じIDを持つ多くの行を連結するには?](http://stackoverflow.com/questions/35172956/how-to-concatenate-many-rows-with-same-id -in-sql) – Serg