2017-11-30 1 views
0

다른 컬럼 ('division')을 기반으로 한 컬럼 (이 경우 'name')의 값을 다시 매핑하려고합니다. 아래와 같이 원본 데이터를 가정합니다. 부문 A 또는 C 인 경우PL/pgSQL 특정 일치 조건에서 값을 다시 매핑하는 방법

Name, Division 
John, A 
James, B 
Mona, B 
Derek, C 
Lisa, C 

은 다음 이름 (division) name 다시 매핑된다. 따라서, 다음 필요한 결과를 끝낼 수 있습니다 :

Name, Division 
(A) John, A 
James, B 
Mona, B 
(C) Derek, C 
(C) Lisa, C 

내가 상상하고있어 사용은 다음과 같습니다

select remap_name(name), division from division_table; 

내가 자신을 먼저 시도하는 사랑하지만 나에게 너무 새로운 plpgsql 인 것입니다.

답변

0

그냥 case을 사용하는 것이 어떻습니까?

select (case when division in ('A', 'C') then '(' || division || ') ' || name 
      else name 
     end) as name 
+0

실제로 예, 그게 내가 필요한 것입니다. 감사 – idazuwaika

관련 문제