2017-01-04 8 views
0

파생 테이블간에 필드에 액세스 할 수 있습니까?SQL - 파생 테이블 간 필드 교환

SELECT * 
FROM (SELECT ID, COL1A FROM Table1) T1 
     JOIN (SELECT ID, COL2A FROM Table2) T2 
      ON T1.ID = T2.ID 
     JOIN (SELECT ID, (COL3A + T2.COL2A) AS SUM FROM Table3) T3 
      ON T1.ID = T3.ID 
+0

예, 위의 코드에서 오류가 발생합니까? –

+0

예, 그렇습니다. 또는 CTE (Common Table Expressions)를 사용할 수도 있습니다. – JotaPardo

+1

나는 "예"의견의 출처가 어디 있지 않습니다. 'T2.COL2A'는 ANSI SQL과 제가 익숙한 모든 데이터베이스에서 벗어납니다. 질의를 작성하는 더 좋은 방법이 있지만 특정 표현식은 허용되지 않습니다. –

답변

2

당신은 SELECT 절에 여러 열을 사용하여 식을 둘 것입니다 : 모든 파생 된 테이블에 대한 필요가 없습니다

SELECT t1.ID, t1.COL1A, t2.COL2A, (t3.COL3A + t2.COL2A) as sum 
FROM Table1 T1 JOIN 
    Table2 T2 
    ON T1.ID = T2.ID JOIN 
    Table3 T3 
    ON T1.ID = T3.ID; 

.