2015-10-21 6 views
1

я пытаюсь совместить «выберите * в» с «с»MakeTable с «с»

drop table #a 
create table #a(a1 int); 

insert into #a (a1) values (1),(2); 


select * into #b(--I try this syntax and have error mentioned below 
    with a as 
    (
     select * from #a 
    ) 
    select * from a 
) 

Error: Incorrect syntax near the keyword 'with'.

Как я могу исправить эту ошибку?

ответ

2

Вы должны поместить общее табличное выражение до фактического insert:

drop table #a; 
create table #a(a1 int); 

insert into #a (a1) values (1),(2); 

with a as (
    select * 
    from #a 
) 
select * 
    into #b 
from a; 
1

Правильный синтаксис для общих табличных выражений можно найти here:

drop table #a 
create table #a(a1 int) 

insert into #a (a1) values (1),(2) 


;with a as (
    select * from #a 
) 
select * into #b from a;