PostgreSQL错误:CASE中不允许使用set-returns函数

时间:2017-11-30 13:11:15

标签: 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 

得到错误:

  CASE

中不允许使用set-returns函数

1 个答案:

答案 0 :(得分:3)

改为使用lateral 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 ;