我需要结合两个结果集:
--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组合它们。请指教。在此先感谢Krishna
答案 0 :(得分:-1)
要获取所需的结果集,您需要加入这些主要结果集。这意味着,您可能会想到:
SELECT * FROM (CALL test_select_users) AS 'result1'
加入此:
SELECT * FROM (CALL test_select_users) AS 'result2'
但是,这是不可能的。 相反,您可以使用User-defined function或view代替程序。
一个过程可以返回多个结果集,每个结果集都有自己的模式。它不适合在SELECT语句中使用。