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 回答