1

複数行の列結果を 1 つの変数に結合する必要があります。私のデータセットのサンプルを以下に示します。

EmailAddress
-------------
myemail@here.com
youremail@here.com

現在、STUFF を使用してEmailAddress列をセミコロン区切りのリストに結合しています。以下にサンプルを示します。

SELECT @EmailAddress = CONVERT(nvarchar(max)    
              , STUFF(
                  (SELECT ';' + EmailAddress FROM EmployeeCourseDetails)
                , 1
                , 1
                , '')
              )

望ましい結果はmyemail@here.com;youremail@here.com次のようになりますが、ステートメントを実行すると、次のエラーが発生します。Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

何か助けてください。

4

2 に答える 2

1

で一度似たようなことをしましたFOR XML PATH('')。このような:

SELECT @EmailAddress = CONVERT(nvarchar(max)    
              , STUFF(
                  (SELECT ';' + EmailAddress FROM EmployeeCourseDetails FOR XML PATH(''))
                , 1
                , 1
                , '')
              )
于 2013-09-26T14:13:28.437 に答える