Update SQL Befehl
Hallo zusammen,
ich häng gerade an einem SQL Befehl fest, und wollte fragen ob mir evtl. jemand auf die Sprünge helfen kann?
Folgende Konstellation der Tabelle. (vereinfachte Ansicht)
Tabelle LAGER
Bsp.
Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
usw.
.
So soll für jeden Artikel der B-Ware EK Preis berechnet werden.
hoffe ich konnte meine Frage verständlich machen.
Vorab besten Dank
Viele Grüße
Tom
ich häng gerade an einem SQL Befehl fest, und wollte fragen ob mir evtl. jemand auf die Sprünge helfen kann?
Folgende Konstellation der Tabelle. (vereinfachte Ansicht)
Tabelle LAGER
Bsp.
Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
usw.
.
So soll für jeden Artikel der B-Ware EK Preis berechnet werden.
hoffe ich konnte meine Frage verständlich machen.
Vorab besten Dank
Viele Grüße
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 223395
Url: https://administrator.de/contentid/223395
Ausgedruckt am: 26.11.2024 um 06:11 Uhr
8 Kommentare
Neuester Kommentar
Moin ThomasKern,
willkommen im Forum.
Dann sei froh, wenn ich der einzige Nachrechner bleibe.
Bei einer Updateanweisung kämen jedenfalls 0.54 statt 0.63 heraus, um zum Kern zu kommen (kleines Wortspiel).
Beispiel:
Wenn der (unterstellte) PK deiner Lagertabelle dann auch "lagerort, artikelnummer" ist, dann sollte es klappen.
P.S. Ich würde mich eher krankmelden, bevor ich in einer produktiven DB ein Update auf Stringvergleiche wie "B-Ware" und "Hauptlager" mache. Gibt es da wenigstens Constraints auf eine Lagerort-Tabelle bzw. eine Artikeltabelle?
Und wie jedes zweite Mal in diesem Bereich:
wir können besser helfen, wenn wir wissen, mit welcher Datenbank und welcher Version hier rumgeSQLed wird.
Grüße
Biber
willkommen im Forum.
Zitat von @ThomasKern:
Bsp.
Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
So, bei euch sind also 90 Cent * 60% als Verkaufspreis dann 63 Cent?Bsp.
Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
Dann sei froh, wenn ich der einzige Nachrechner bleibe.
Bei einer Updateanweisung kämen jedenfalls 0.54 statt 0.63 heraus, um zum Kern zu kommen (kleines Wortspiel).
Beispiel:
Update Lager L left join (
Select Artikelnummer, 0.6 * Ek as calcEK
from Lager
where Lagerort ="Hauptlager"
) H on L.artikelnummer=H.artikelnummer
set L.Ek = H.CalcEK
where L.lagerort="B-Ware"
and exists (select 1 from Lager H
where H.Lagerort ="Hauptlager"
and H.Artikelnummer=L.artikelnummer)
Wenn der (unterstellte) PK deiner Lagertabelle dann auch "lagerort, artikelnummer" ist, dann sollte es klappen.
P.S. Ich würde mich eher krankmelden, bevor ich in einer produktiven DB ein Update auf Stringvergleiche wie "B-Ware" und "Hauptlager" mache. Gibt es da wenigstens Constraints auf eine Lagerort-Tabelle bzw. eine Artikeltabelle?
Und wie jedes zweite Mal in diesem Bereich:
wir können besser helfen, wenn wir wissen, mit welcher Datenbank und welcher Version hier rumgeSQLed wird.
Grüße
Biber