Ich versuche, eine Spalte Plan_Status
basierend auf dem Wert einer anderen Tabelle main
, Spalte Days_At_Step
zu aktualisieren.
Die folgenden Anweisungen funktionieren jedoch, wie würde ich dies als eine bedingte Anweisung strukturieren?
Oder gibt es eine andere Strategie, die ich verwenden könnte?Bedingte UPDATE-Anweisung mit JOIN
Ich glaube, es gibt einen besseren Weg als drei identische Aussagen mit verschiedenen WHERE-Bedingungen zu verwenden.
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;