Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > как вставить в insert into объединение union запро


Автор: Lunatikus 11.9.2007, 12:49
Здравствуйте снова.Есть запрос типа
Код

INSERT INTO T() SELECT...FROM... UNION SELECT...FROM...

но в этом случае в таблице оказывается результат только первого запроса.Как сделать так,чтобы записался результат выполнения объединенных запросов?В скобки запросы брал-не вышло

Автор: kobra 11.9.2007, 13:13
Код

CREATE TABLE #t
(
    [id] [int] NULL,
    [val] [nchar](10) NULL
)

INSERT INTO #t
SELECT id, val
FROM t1
UNION
SELECT id, val
FROM t2

SELECT * 
FROM #t

DROP TABLE #t

Автор: Lunatikus 11.9.2007, 13:31
не катит
Код

SELECT ''Питер'' as филиал,data,uni FROM table1 where data>:data AND data<=:datamax 
UNION
SELECT ''Омск'' as филиал,data,uni FROM table2 where data>:data AND data<=:datamax 

выдает ошибку о недостаточных сведениях параметра,а если последовательно делать инсерт сначала одного селекта,потом другого,то все успешно.

Автор: kobra 12.9.2007, 16:41
а так?
Код

SELECT ''Питер'' as филиал,data,uni FROM table1 where data>:data AND data<=:datamax 
UNION
SELECT ''Омск'' as филиал,data,uni FROM table2 where data>:data1 AND data<=:datamax1

Автор: shilnik 17.9.2007, 10:19
А что мешает 
Цитата(Lunatikus @  11.9.2007,  17:31 Найти цитируемый пост)
последовательно делать инсерт сначала одного селекта,потом другого

?

Автор: Lunatikus 17.9.2007, 16:47
уже ничего) 
kobra, да,запрос так работает,в том то и странность.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)