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;