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
Hallo Heinz,
versuche doch Deine Konstruktion einmal zusammengefasst als Abfrage:
[code]SELECT "H_Kurs" , "AktKurs", "T_Kurs" FROM "T_Stamm2" WHERE "AktKurs" > "H_Kurs" AND "AktKurs" < "T_Kurs" [/code]
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]UPDATE "T_Stamm2" SET "H_Kurs" = "AktKurs",
"T_Kurs" = "AktKurs"
WHERE "AktKurs" > "H_Kurs" AND "AktKurs" < "T_Kurs" ;[/code]
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