PL/pgSQL 根据特定匹配条件重新映射值

PL/pgSQL To Remap Values on Certain Matching Condition

我希望根据其他列 ('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 对我来说太新了。

只使用 case 怎么样?

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