PL / pgSQL在某些匹配条件下重新映射值

时间:2017-11-30 22:48:55

标签: postgresql plpgsql

我希望根据其他列('division')重新映射列(本例中为'name')的值。假设原始数据如下。

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对我来说太新了。

1 个答案:

答案 0 :(得分:0)

如何使用case

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