2017-11-30 15 views
0

他の列( 'division')に基づいて列(この場合は 'name')の値を再マップしようとしています。元のデータを以下のように仮定する。PL/pgSQL特定の一致条件の値を再マップする

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

除算がAまたは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

関連する問題