with as postgres udate 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;

Tags:

Sql Example