2017-04-26 2 views
0

SQL 서버에 with 절을 여러 번 사용하려고합니다.별칭을 가진 sql의 여러 사용법

예 :

WITH name1 AS (
    SELECT ... 
) 

SELECT * from name1 
SELECT * from name1 ORDER BY name 

은 가능합니까? 나는 "잘못된 개체 이름"오류 구문을 아래와 같이

+0

대신보기를 만듭니다. 다른 쿼리에서 사용할 수 있습니다. – jarlh

+0

CTE는 입니다. 후속 명령문은 단일 SELECT/INSERT/UPDATE/DELETE 또는 복합 (UNION, INTERSECT 등) –

+0

일 수 있습니다. CTE name1에서만 첫 번째 SELECT 만 수행 할 수 있습니다. 두 번째 SELECT는 오류를 제공합니다. –

답변

1

은 당신이 사용하려고 만 그 부분은 잘 작동합니다

WITH name1 AS (
    SELECT ... 
) 

SELECT * from name1 

바로 다음 DML에서 사용할 수있는 CTE입니다. 다음 select 문은 CTE에 액세스 할 수 없습니다. 대신 table variable을 사용해보세요

0

공통 테이블 식 얻고있다 :

WITH name1 AS 
(
    SELECT ... 
) 

SELECT * from name1 

당신보다 CTE 표 이상을 사용할 .If 당신은 CTE 테이블에 대해 하나의 SELECT 문을 사용할 수 있습니다 한 번, 그냥 CTE 테이블로 이동하여 모든 테이블에서 임시 테이블을 사용하십시오.

관련 문제