2013-06-10 2 views
3

У меня есть запрос ниже, который дает результаты более чем одного выбора. Теперь я хочу, чтобы они были в таблице темпа.Вставить в таблицу temp, не создавая ее из результатов объединения

Есть ли способ вставить их в таблицу темп без создания таблицы?

Я знаю, как сделать это для выбора

Select * into #s --like that 

Однако, как сделать это более чем один один выбрать?

SELECT Ori.[GeoBoundaryAssId], Ori.[FromGeoBoundaryId], Ori.Sort 
From [GeoBoundaryAss] As Ori where Ori.[FromGeoBoundaryId] = (select distinct [FromGeoBoundaryId] from inserted) 

Union 

SELECT I.[GeoBoundaryAssId], I.[FromGeoBoundaryId], I.Sort 
From [inserted] I ; 

ответ

6

Добавить INTO после первого SELECT.

SELECT Ori.[GeoBoundaryAssId], Ori.[FromGeoBoundaryId], Ori.Sort 
INTO #s 
From [GeoBoundaryAss] As Ori where Ori.[FromGeoBoundaryId] = (select distinct [FromGeoBoundaryId] from inserted) 

Union 

SELECT I.[GeoBoundaryAssId], I.[FromGeoBoundaryId], I.Sort 
From [inserted] I ; 
1

Попробуйте это,

INSERT INTO #s ([GeoBoundaryAssId], [FromGeoBoundaryId], Sort) 
(
    SELECT Ori.[GeoBoundaryAssId], Ori.[FromGeoBoundaryId], Ori.Sort 
    FROM [GeoBoundaryAss] AS Ori WHERE Ori.[FromGeoBoundaryId] in (SELECT DISTINCT [FromGeoBoundaryId] FROM inserted) 

    UNION 

    SELECT I.[GeoBoundaryAssId], I.[FromGeoBoundaryId], I.Sort 
    FROM [inserted] I 
)