1

私が望んでいたこと:テーブル内の個別のエントリごとにプロシージャを実行し、すべての結果を 1 つのテーブルに表示したいと考えています。

私がしたこと:

Declare @sql varchar(max)=''
Select @sql = @sql + ' exec proc1 ' + Convert(nvarchar(50),s1.product) + ';'
      from  (select distinct(s2.product) as product from sales s2) as s1;
exec (@sql)

問題は何ですか: n 個のテーブルが返されます。n はテーブル内の個別のエントリの数です。それらすべてを結合するにはどうすればよいですか?

4

1 に答える 1

1

私はそれを解決しました。みんなありがとう。

Declare @sql varchar(max)='Declare @tempTable Table (product nvarchar(50) ); '
Select @sql = @sql + 'Insert into @tempTable exec proc1 ' + CONVERT(nvarchar(50),s1.product) + ';'
 from (Select Distinct(s2.product) as product from Sales s2) as s1;
Set @sql = @sql + 'Select * from @tempTable';
Exec (@sql)
于 2013-07-19T08:08:55.713 に答える