将不同程序的结果合并到一个表中

时间:2013-07-19 07:59:41

标签: sql sql-server-2008

我想要的是什么:我想为表中的每个不同条目执行一个过程,并在一个表中显示所有结果。

我做了什么:

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是表中不同条目的数量。我如何结合所有这些?

1 个答案:

答案 0 :(得分: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)