別のテーブルmain
のカラムDays_At_Step
の値に基づいて、カラムPlan_Status
を更新しようとしています。
次のステートメントは機能しますが、これを条件文としてどのように構成しますか?
また、別の戦略がありますか?JOINを使用した条件付きUPDATE文
異なるWHERE条件の3つの同一のステートメントを使用するよりも良い方法があるように感じます。
UPDATE controlState
SET Plan_Status=1
FROM controlState JOIN main ON main.Cscc = controlState.Cscc
WHERE Days_At_Step < 2;
UPDATE controlState
SET Plan_Status=2
FROM controlState JOIN main ON main.Cscc = controlState.Cscc
WHERE (Days_At_Step >= 2 OR Days_At_Step < 4);
UPDATE controlState
SET Plan_Status=3
FROM controlState JOIN main ON main.Cscc = controlState.Cscc
WHERE Days_At_Step > 4;