2015-05-18 11 views
-3

я получилunion all with #temptable есть условие в sql-сервере?

INSERT INTO TABLE3 
SELECT * FROM table1 
UNION ALL 
if object_id('tempdb..#temp') is not null drop table tempdb..#temp 
select * into #temp from (SELECT * FROM table2) then original SELECT for UNION 

, но я получаю ошибку синтаксиса?

любая помощь будет оценена. Спасибо

+0

Что значит «тогда оригинал SELECT for UNION»? У вас не может быть 'UNION ALL' с' IF' ... У вас не может быть 'SELECT INTO' как часть' INSERT INTO'. Объясните, что вы на самом деле хотите, иначе вам не поможет. –

+0

Ваш запрос не имеет смысла. Похоже на то, что все деловые слова, написанные в SQL, разбиты вместе. Есть так много проблем, с которых трудно понять, с чего начать. –

ответ

3

Я не совсем уверен, чего вы пытаетесь достичь, но я думаю, что это поможет вам отбросить стол перед вставкой.

if object_id('tempdb..#temp') is not null 
    drop table tempdb..#temp 

SELECT * INTO #temp 
FROM table2 

INSERT INTO TABLE3 
SELECT * 
FROM table1 
UNION ALL 
SELECT * 
FROM #temp 
+0

Привет @Stephan, спасибо за ответ. Я сделал то, что вы предложили, но снова у меня возникла проблема с выбором * в #temp (выберите SELECT * FROM table2). просто обновленный исходный запрос. спасибо – GK1960

+1

Вы не можете выбрать во вставке. Я снова редактировал код. Помогает ли это? – Stephan

+2

Спасибо @Stephan, я просто переместил вставку на #temp перед основной вставкой, получив результат. благодаря – GK1960