2016-10-26 6 views
-2

임시 테이블이 있습니다. 선택시 열 이름 변경

col_1 col_2 col_3 col_4 
ABC  B01  10  5 
ABC  B01  77  5 
ABC  B03  30  7 
ABC  B05  50  11 
ABC  B05  88  11 
DEF  B05  50  50 
DEF  B05  88  50 
DEF  B06  66  50 
A01  B02  20  0 
A01  B04  40  0 
A02  B02  99  0 

이 도우미 테이블 : 내가하고 싶은 무엇

ID1  ID2 
ABC  A01 
DEF  A02 

. 헬퍼 테이블의 ID2와 일치하는 임시 테이블의 col_1에 값이 있으면 값이 도우미 테이블의 ID1로 변경됩니다. select에서이 작업을 수행하는 방법은 무엇입니까?

내가 할 때 선택 (SELECT * FROM temporary). 결과는 다음과 같습니다.

col_1 col_2 col_3 col_4 
ABC  B01  10  5 
ABC  B01  77  5 
ABC  B03  30  7 
ABC  B05  50  11 
ABC  B05  88  11 
DEF  B05  50  50 
DEF  B05  88  50 
DEF  B06  66  50 
ABC  B02  20  0 
ABC  B04  40  0 
DEF  B02  99  0 

그렇게 할 수 있습니까? 당신의 도움을 주셔서 감사합니다

주의 : 도우미 테이블에 값이 많이 있습니다

. 두 행만이 아닙니다.

답변

0

왼쪽 도우미 테이블에서뿐만 아니라 두 개의 값이있는 경우

select case 
       when h.id2 = tt.col_1 then h.id1 
       else tt.col_1 
      end as col_1, 
      col_2,col_3,col_4 
from temporary_table tt 
left join helper h on tt.col_1 = h.id2 
+0

로 가입 할 수 있습니다. 실제 데이터에는 약 500 개의 값이 있습니다. – Vahn

+0

하지만 2 열만 맞습니까? –

+0

감사합니다 P.Salmon. 나는 그것을 실제 데이터에 구현했으며 매력처럼 작동합니다. D – Vahn