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;