Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вставка результотов хранимых процедур в одну временную таблицу  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 75
Всем привет.

У меня есть 4-ри хранимых процедуры, которые при запуске выводят результат в один столбец с одинаковым количеством записей:

exec value1
exec value2
exec value3
exec value4


Но первая процедура выводит данные в два столбца, одним из которых является название, скрин прилагаю.

Подскажите пожалуйста, как результаты всех 4-х процедур объединить в одну временную таблицу. Буду благодарен за помощь.

[img=]

Сообщение было отредактировано: 12 ноя 20, 16:20
12 ноя 20, 16:22    [22230881]     Ответить | Цитировать Сообщить модератору
 Re: Вставка результотов хранимых процедур в одну временную таблицу  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1590
Caxa_ASS,

drop table if exists #t1, #t2;

create table #t1 (val1 varchar(255), val2 varchar(255));
create table #t2 (val varchar(255));

insert into #t1
exec value1;

insert into #t2
exec value2;

insert into #t2
exec value3;

insert into #t2
exec value4;

insert into #t2
  select val1 from #t1;
12 ноя 20, 16:25    [22230888]     Ответить | Цитировать Сообщить модератору
 Re: Вставка результотов хранимых процедур в одну временную таблицу  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 75
[img=]

К сообщению приложен файл. Размер - 15Kb
12 ноя 20, 16:28    [22230892]     Ответить | Цитировать Сообщить модератору
 Re: Вставка результотов хранимых процедур в одну временную таблицу  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 75
felix_ff, спасибо за ответ, возможно, что-то не так делаю, но запись:

insert into #t2
  select val1 from #t1;


вставляет все в один столбец, а мне на выходе нужна таблица из 5 столбцов, как на скриншоте.
12 ноя 20, 16:49    [22230930]     Ответить | Цитировать Сообщить модератору
 Re: Вставка результотов хранимых процедур в одну временную таблицу  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1590
Caxa_ASS,

Я когда писал Ваш скрин не отображался, поэтому я трактовал задачу на основе текстового описания.

если вы хотите результирующую и 5 столбцов то концептуально это будет как то так (конечно при учете что вы гарантируете что кол-во строк возвращаемых вашими процедурами всегда одинаково):

drop table if exists #t1, #t2, #t3, #t4;
create table #t1 (id int identity(1, 1), val1 varchar(255), val2 varchar(255));
create table #t2 (id int identity(1, 1), val varchar(255));
create table #t3 (id int identity(1, 1), val varchar(255));
create table #t4 (id int identity(1, 1), val varchar(255));

insert into #t1 (val1, val2)
exec value1; 

insert into #t2 (val)
exec value2;

insert into #t3 (val)
exec value3;

insert into #t4 (val)
exec value4;


select
        t1.val1, 
        t1.val2,
        t2.val,
        t3.val,
        t4.val
from #t1 t1
join #t2 t2 on t2.id = t1.id
join #t3 t3 on t3.id = t1.id
join #t4 t4 on t4.id = t1.id


Сообщение было отредактировано: 12 ноя 20, 17:06
12 ноя 20, 17:07    [22230949]     Ответить | Цитировать Сообщить модератору
 Re: Вставка результотов хранимых процедур в одну временную таблицу  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 75
felix_ff, спасибо, все работает!
12 ноя 20, 17:43    [22230997]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить