2011-03-08 2 views
-1

방법 같은 쿼리에서 테이블에 결과를 삽입 할 문 :삽입,

;with foo(foo1,foo2) as (
... 
from ... 
     select from foo 
where ... 
) 
select [1],[2],[3],...,[n] 
from 
(
    select from foo f 
) p 
pivot() pv 
order by row 
+2

당신은 많은 것을 전제로합니다. –

+0

"쿼리에 삽입"이란 의미는 무엇입니까? "테이블에 삽입"또는 "두 번째 쿼리에서 결과를 테이블로 사용 하시겠습니까?"또는 다른 것을 의미합니까? – Pondlife

+0

'INSERT' 문에서 'order by'의 일반적인 유형의 쿼리 – cMinor

답변

1

당신이 원하는 것을 이것이다 :

;with foo(foo1,foo2)
as
(...from ... select from foowhere ...)

INSERT INTO #SomeTable
select [1],[2],[3],...,[n]
from(
select from foo f) ppivot() pv order by row

+0

오류가 발생하는 경우 :'메시지 208, 수준 16, 상태 1, 줄 2 잘못된 개체 이름 '# SomeTable'. – cMinor

+0

@ darkcminor, 질문에 "테이블에 삽입하는 방법"과 #SomeTable 이미 존재했다면 위가 효과가있을 것입니다. 그렇지 않다면 아래의 select into 접근 방식을 사용할 수 있습니다. –

0

답변이 가까웠습니다. 해결책은 다음과 같습니다.

;with foo(foo1,foo2) 
as 
( 
...from ... select from foowhere 
... 
) 
select [1],[2],[3],...,[n] INTO #SomeTable 
from(
    select from foo f 
) ppivot (...) pv 


    order by row