【发布时间】:2021-03-07 12:15:32
【问题描述】:
我想检查mr.name 列,如果mr.name 为空,那么我必须将mr.name 替换为mr.ticket_no。如何? if else 或者 case 可以用吗?
select ROW_NUMBER() OVER(ORDER BY mr_user) sl_no,* from (select
mr.name as mr_no,
coalesce(mr.user_id,0) as mr_user
from stock_production_lot lot
left join kg_grn grn on (grn.name = lot.grn_no)
left join kg_department_indent mr on (mr.name = grn.mr_no)
order by mr.user_id) main
where mr_user=65
当我这样使用时
case when mr.name is null then '' else mr.ticket_no = grn.mr_no as mr_no
会报错
如果 mr.name = null 意味着我必须替换 mr.name = mr.ticket_no。我想检查 mr.name 列,如果 mr.name 为空,那么我必须将 mr.name 替换为 mr.ticket_no
【问题讨论】:
标签: sql postgresql case postgresql-9.5