サブクエリで 2 つの値を返すことはできません。文字列を連結するだけなら、xml
は必要ありません。 まったくデータ型。 stuff()
を実行できます 単一のステートメントでサブクエリを実行:
declare @Rep1Names nvarchar(max) = ( stuff((select ', [' + report_name + ']' as name from (select distinct report_order, report_name from #report ) x order by report_order for xml path('') ) ), 1, 1, ''); declare @Rep2Names nvarchar(max) = ( stuff(select ', isnull([' + report_name + '], 0) as [' + report_name + ']' as res from (select distinct report_order, report_name from #report ) x order by report_order for xml path('') ) ), 1, 1, '');
プレ>