2013-04-09 4 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 

мне нужно сочетать с обеих ResultSet процедур. Просьба предложить несколько способов, так что конечный набор результаты должны выглядеть следующим образом:

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

В основном то, что я пытаюсь сделать это, получая от двух ResultSet процедур и вставки в двух темп таблицы и комбинирование их с помощью rownum. Пожалуйста, порекомендуйте. Заранее благодарен, Krishna

+0

Подсказка: используйте стол. – fancyPants

ответ

-1

Для получения нужного набора результатов вам необходимо присоединиться к этим основным наборам результатов. Что означает, что вы могли бы придумать что-то вроде:

SELECT * FROM (CALL test_select_users) AS 'result1' 

РЕГИСТРИРУЙТЕСЬ С этим:

SELECT * FROM (CALL test_select_users) AS 'result2' 

Но это не представляется возможным. Вместо этого вы можете использовать User-defined function или view вместо процедуры.

Процедура может возвращать несколько наборов результатов, каждая со своей схемой. Он не подходит для использования в инструкции SELECT.

Смежные вопросы