[gelöst] UPDATE mit 2 WHERE?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] UPDATE mit 2 WHERE?

Re: UPDATE mit 2 WHERE?

von hk3003 » So, 09.04.2023 17:12

Danke Robert,
es ist mir jetzt etwas klarer!
lg heinz

Re: UPDATE mit 2 WHERE?

von RobertG » So, 09.04.2023 16:34

Hallo Heinz,

versuche doch Deine Konstruktion einmal zusammengefasst als Abfrage:

Code: Alles auswählen

SELECT "H_Kurs" , "AktKurs", "T_Kurs"  FROM "T_Stamm2" WHERE "AktKurs" > "H_Kurs" AND "AktKurs" < "T_Kurs" 
WHERE darf nur einmal erscheinen. Danach kommen sämtliche Bedingungen, die für die gesamte Anzeige gelten. Und das ist nicht nur bei der Anzeige so, sondern auch bei der Änderung von Daten.

Also ginge höchstens:

Code: Alles auswählen

UPDATE "T_Stamm2" SET "H_Kurs"  = "AktKurs", 
"T_Kurs"  = "AktKurs" 
WHERE "AktKurs" > "H_Kurs" AND "AktKurs" < "T_Kurs" ;
Dann wäre aber in jedem der gefundenen Datensätze "H-Kurs" = "T_Kurs". Und Du würdest vermutlich auch nicht alle Datensätze finden, sondern eben nur die, bei denen beide Bedingungen erfüllt sind. Ein UPDATE-Befehl arbeitet eben auch nur Zeile für Zeile die Tabelle ab - mit den entsprechenden Filterbedingungen für die anzuzeigende Zeile. Und das, was er machen soll, macht er für alle diese anzuzeigenden Zeilen.

Gruß

Robert

Re: UPDATE mit 2 WHERE?

von hk3003 » So, 09.04.2023 12:27

Hallo Robert,
gehen solche Sachen immer nur einzeln oder ist es nur übersichtlicher?
lg heinz

Re: UPDATE mit 2 WHERE?

von RobertG » So, 09.04.2023 12:24

Hallo Heinz,

mach' da zwei getrenntes UPDATE-Befehle draus. Die Bedingung des einen Befehls hat ja nichts mit der Bedingung des anderen Befehls zu tun.

Code: Alles auswählen

UPDATE "T_Stamm2" SET "H_Kurs"  = "AktKurs" WHERE "AktKurs" > "H_Kurs" ;
UPDATE "T_Stamm2" SET "T_Kurs"  = "AktKurs" WHERE "AktKurs" < "T_Kurs" ;  
Das hattest Du doch schon, oder? Jedenfalls kannst Du nicht für einen Teil des Updates eine Bedingungen formulieren und für den anderen Teil eine andere Bedingung.

Gruß

Robert

[gelöst] UPDATE mit 2 WHERE?

von hk3003 » So, 09.04.2023 10:25

Hallo Forum,
ich habe ein UPDATE wo ich zwei Felder abhängig von einem anderen Feld ändern/nicht ändern möchte. Dabei bekomme ich folgenden Fehler: Unexpected token: , in statement [,]

Code: Alles auswählen

UPDATE "T_Stamm2" SET "H_Kurs"  = "AktKurs" WHERE "AktKurs" > "H_Kurs", 
  "T_Kurs"  = "AktKurs" WHERE "AktKurs" < "T_Kurs" ;
  
lg heinz

Nach oben