2

私は現在、次の行に沿った列を持つビューを持っています:

ID, Name

Propertiesプロパティのコンマ区切りリストを含める必要がある3番目の列を追加したいと思います。結合テーブルからプロパティを取得できますが、現時点では、結合するとプロパティごとに個別の行が返されます。カンマ区切りのリストの単一行をプルする最良の方法は何ですか?

以前は、カーソル付きのユーザー定義関数を使用したことがあると思います。UDFなしでこれを実行できれば素晴らしいのですが、100%確信はありません。そうでない場合は、よりインテリジェンスのUDFを使用してカーソルを取り除くことができると確信しています。

4

1 に答える 1

5
SELECT ID, Name, Properties = STUFF((
    SELECT N',' + PropertyName FROM dbo.Properties
    WHERE ID = x.ID
    FOR XML PATH(''), 
    TYPE).value(N'./text()[1]', N'nvarchar(max)'), 1, 1, N'')
FROM dbo.ViewName AS x
GROUP BY ID, Name;
于 2012-04-04T17:09:52.563 に答える