zu wissen, ich habe diese Anfrage:ein Update durchführen, ohne die ID
UPDATE PEOPLE SET ID_STATE = 5 WHERE ID_STATE IN (3,4);
Ich würde die gleiche Anfrage machen, aber wenn ich die ID_STATE
nicht wissen, sondern nur das labelStatePeople
SELECT ID_STATE FROM STATE_PEOPLE WHERE labelStatePeople = 'blue';
BEISPIEL :
$1 = SELECT ID_STATE FROM STATE_PEOPLE WHERE labelStatePeople = 'blue';
$2 = SELECT ID_STATE FROM STATE_PEOPLE WHERE labelStatePeople = 'yellow';
$3 = SELECT ID_STATE FROM STATE_PEOPLE WHERE labelStatePeople = 'red';
letzte Anfrage:UPDATE PEOPLE SET ID_STATE = $1 WHERE ID_STATE IN ($2,$3);
Ich habe meinen Beitrag aktualisiert, um ein besseres Verständnis für mein Problem zu bekommen – Mercer
Aus Neugier, ist das 'IS NOT NULL' aus Leistungsgründen erforderlich? (Angenommen, die Spalte kann NULL sein) – kamilk
@kamilk, nein, der Grund dafür ist, dass wenn die Sub-Qeury einen NULL zurückgibt, die WHERE-Klausel falsch ist, und überhaupt keine Zeilen aktualisiert werden - auch wenn die Sub-Qeury auch Gibt gültige ID_STATE-Werte zurück. (Sehr häufiger Fehler.) – jarlh