postgres conditionally select fields based on value code example
Example 1: postgres update with if condition query
update t1
set t1.current_location =
CASE
WHEN SUBQUERY.status = 0 THEN 'Deployed'
WHEN SUBQUERY.status = 1 THEN 'Retrieved'
WHEN SUBQUERY.status = 2 THEN 'Lost'
ELSE t1.current_location
END
from (
select t3.serial_number, t2.status
from t2 inner join t3
on t2.some_id = t3.some_id
) as SUBQUERY
where SUBQUERY.serial_number = t1.serial_number;
Example 2: postgres update with if condition query
update t1
set current_location =
case t2.status
when 0 then 'Deployed'
when 1 then 'Retrieved'
when 2 then 'Lost'
end
from t2 inner join t3
on t2.some_id = t3.some_id
where t3.serial_number = t1.serial_number;