-2

我需要结合两个结果集:

--Resultset from Procedure 1
Date    Session Attendees
2013-04-09  Morning 2
2013-04-09  Noon    6

--Resultset from Procedure 2
Session Admitted
Morning 1
Noon    3

我需要结合这两个过程的结果集。请提出一些方法,以便最终结果集如下所示:

--Date  Session Attendees   Admitted
2013-04-09  Morning 2   1
2013-04-09  Noon    6   3

我正在尝试这种方式,但它不起作用。请纠正我:

创建过程 test1_test2_combine()

开始

 DECLARE @tmp_proc1 TABLE
 DECLARE @tmp_proc2 TABLE

  Call test1() ;
 INSERT INTO @tmp_proc1 
  Call test2() ;
 INSERT INTO @tmp_proc2


 Select @tmp_proc1.*, @tmp_proc2.Admitted from @tmp_proc1, @tmp_proc2
 Where @tmp_proc1.rownum = @tmp_proc2.rownum;

结尾

基本上我要做的是,从两个过程中获取结果集并插入两个临时表并使用 rownum 组合它们。请指教。在此先感谢,克里希纳

4

1 回答 1

-1

要获得所需的结果集,您需要加入这些主要结果集。这意味着,您可能会想到以下内容:

SELECT * FROM (CALL test_select_users) AS 'result1'

加入这个:

SELECT * FROM (CALL test_select_users) AS 'result2'

但是,这是不可能的。 相反,您可以使用用户定义的函数视图而不是过程。

一个过程可以返回多个结果集,每个结果集都有自己的模式。它不适合在 SELECT 语句中使用。

于 2013-04-09T13:55:15.280 回答