PostgreSQL 错误:CASE 中不允许设置返回函数

sri*_*inu 4 sql postgresql set-returning-functions postgresql-10

我尝试在 PostgreSQL 10 中运行此查询:

select e.errordescription,
       CASE 
        WHEN e.reworkempid is not null THEN get_empname(e.reworkempid) 
        else null 
      end  
from error_log_gs  e 
where e.qcworkpackageid=3012175 and e.logno=1 
Run Code Online (Sandbox Code Playgroud)

得到错误:

CASE 中不允许设置返回函数

Gor*_*off 5

使用 alateral join代替:

select e.errordescription, ge.name
from error_log_gs e left join lateral
     get_empname(e.reworkempid) ge(name)
     on e.reworkempid is not null
where e.qcworkpackageid = 3012175 and e.logno = 1 ;
Run Code Online (Sandbox Code Playgroud)