すべての「テキスト」行を 1 行に「連結」し、結果として 1 行を取得したいと考えています。これは可能ですか?MSSQL Server 2005 を使用しています。

すべての「テキスト」行を 1 行に「連結」し、結果として 1 行を取得したいと考えています。これは可能ですか?MSSQL Server 2005 を使用しています。

私はあなたがこのようなものを探していると信じています:
DECLARE @string nvarchar(max)
SET @string = N''
SELECT @string = @string + [Text] + N' ' FROM [YourTable]
SELECT @string
これにより、[テキスト] 列のすべての値が 1 つの変数に連結されます。その後、変数を選択して、すべての値を 1 行で取得できます。
FOR XML PATH を使用します。
SELECT [Text]+' ' AS 'text()' FROM _table FOR XML PATH('')
別のオプション - 文字列連結を使用します。
DECLARE @s nvarchar(max)
SELECT @s = ISNULL(@s, '') + t + ' ' FROM _table OPTION (MAXDOP 1)
SELECT @s
後者は動作が保証されていないことに注意してください。公式には、複数行の結果セットに対する「@s = @s + ...」の動作は定義されていません。
MAXDOP 1ここでヒントを使用して、オプティマイザが並列実行計画を作成しないようにします。これにより、確実に誤った結果が得られるためです。
何かのようなもの:
DECLARE @result varchar(max)
SELECT @result = COALESCE(@result + ' ','') +[Text] FROM [Table]
SELECT @result