これを機能させるには、FOR XML PATH をよりよく理解する必要があると思います。たぶん、この簡単な例で私を助けることができます:
与えられた
DECLARE @p VARCHAR(200)
DECLARE @phn TABLE (Phone VARCHAR(25))
INSERT INTO @phn VALUES('204-721-1532')
INSERT INTO @phn VALUES('306-922-2058')
INSERT INTO @phn VALUES('204-728-3852')
@phn.Phone のすべての行を VARCHAR に変更したいのですが、Python のみの場合は次のようになります。
SET @p = ', '.join(@phn.Phone) # Alas
さて、これはある程度まで機能します:
SELECT DISTINCT Phone+', ' FROM @phn FOR XML PATH('')
==> 204-721-1532, 204-728-3852, 306-922-2058,
末尾にコンマがありますが、問題ありません。必要なのは、この結果を VARCHAR 変数に入れることです。
SELECT DISTINCT @p = Phone+', ' FROM @phn FOR XML PATH('')
しかし、それは許可されていません (メッセージ 6819、レベル 16、状態 3、行 45/ASSIGNMENT ステートメントでは FOR XML 句は許可されていません。)
最終的に、これはスカラー関数に入ります。結合された文字列を返す関数が必要です。