2013-04-09 122 views
-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 

我正在尝试这种方式,但它不工作。请指正:

CREATE PROCEDURE test1_test2_combine()

BEGIN

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; 

END

基本上我试图做的是,从两个程序得到的结果集,并插入两种温度并使用rownum将它们组合在一起。请指教。在此先感谢,克里希纳

+0

提示:使用一个表。 – fancyPants 2013-04-09 13:55:49

回答

-1

要获得所需的结果集,您需要加入这些主要结果集。这意味着,你可能会想到是这样的:

SELECT * FROM (CALL test_select_users) AS 'result1' 

与此JOIN:

SELECT * FROM (CALL test_select_users) AS 'result2' 

但是,这是不可能的。 相反,您可以使用User-defined functionview而不是程序。

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