Hallo Ladys and Gentlemen,
sry, dass ich dieses Thema nochmal anfasse...
Zur weiteren Berechnung benötige ich den Wert des Feldes "PreisProTag" eine Zeile tiefer.
Dieses Feld "PreisProTag" resultiert aus einer Multiplikation von Werten innerhalb der Abfrage.
Dies ist ein Auszug aus der Abfrage ( abf_Summen )
VerAE_Artikel PreisProTag AenderungsDatum AnzTage Mein Wunsch
Hüftsteak13 0,018 19.03.2016
Hüftsteak13 0,039 19.04.2016 31 0,018
Hüftsteak13 0,054 09.05.2016 20 0,039
Hüftsteak13 0,063 20.05.2016 11 0,054
Hüftsteak13 0,069 29.06.2016 40 0,063
Karbonade32 0,024 08.07.2016 0,069
Lachse12 0,008 08.05.2016 0,024
Lachse13 0,003 02.05.2016 0,008
Lachse13 0,015 08.05.2016 6 0,003
Lachse13 0,045 06.06.2016 29 0,015
Lachse13 0,075 10.06.2016 4 0,045
Lachse33 0,021 08.07.2016 0,075
Schnitzel13 0,006 27.06.2016 0,021
Schnitzel13 0,003 17.07.2016 20 0,006
Schweinefilet12 0,006 03.05.2016 0,003
Schweinefilet13 0,018 03.05.2016 0,006
Schweinefilet13 0,072 05.05.2016 2 0,018
Schweinefilet13 0,081 29.06.2016 55 0,072
Schweinefilet33 0,006 29.06.2016 0,081
Gibt es eine Möglichkeit, diese Werte auch in der nächsten Zeile zu verwenden?
Vielen Dank im Voraus für eure Unterstützung.
Hallo,
wieso fängst Du das Thema mit dem gleichen Titel noch mal an ?
PS:
Zur Listendarstellung kann man auch die Codetags verwenden, dann wird der Text Spaltenformatiert dargestellt.
Tut mir leid, ich war der Meinung, wenn ein Thema beantwortet ist, ist es auch beendet.
Hallo,
ist das jetzt eine neue (andere) Frage mit dem gleichen Titel ?
Irgendwie verstehe ich das gerade nicht.
Wenn dem so ist, so ist es natürlich richtig ein neues Thema zu beginnen.
Hallo Klaus,
ja, es ist eine neue Frage zum gleichen Thema.
Das dürfte dann noch eine Stufe einfacher sein als die Ermittlung der Tage.
PS: dass diese Unterabfragen die Performance schmälern, sollte bekannt sein. Für größere Datenbestände sollte man deshalb besser auf ein (kostenlos erhältliches) Server-Datenbanksystem setzen, das diese Art von Abfragen in einer speziellen Art von Verknüpfung beherrscht (MSSQL-Server nennt das (CROSS und OUTER) APPLY; PostgreSQL nennt das (CROSS und OUTER) Lateral Join; ORACLE 12c kennt wohl beide Varianten).
Hallo,
wenn das noch eine Stufe einfacher ist, als die Ermittlung der Tage, dann sei so nett und gib mir bitte einen Tipp...
Vom Rest habe ich nichts verstanden.
Hallo Jürgen,
wenn du das Prinzip nicht verstanden hast, wie das mit der Differenz der Tage gelöst wurde, so beschreibe doch bitte die Art der Berechnung, damit man dir einen konkreten Vorschlag machen kann.
Hallo ihr Lieben,
zu meiner Datenbank:
Ziel soll es sein, dass Lagerkosten auf Artikel verteilt werden sollen.
Die Lagenkosten belaufen sich pro Tag auf 0.003 € pro kg.
Für diese Beschreibung nehme ich einen Abrechnungszeitraum vom 01.05.2016 bis 31.05.2016 an.
Variante 1:
Ist nun ein Artikel mehrfach im Abrechnungszeitraum vorhanden, benötige ich zu Berechnung der Gesamtkosten pro Artikel den PreisProTag aus der vorherigen Zeile.
(siehe Hüftsteak13 am 09.05.2016. für die Berechnung vom 01.05. – 09.05. benötige ich den Preis aus der vorherigen Zeile.)
Variante 2:
Ist ein Artikel im Abrechnungszeitraum nur einmal vorhanden, benötige ich den PreisProTag aus der gleichen Zeile (siehe Lachse12).
Also brauche ich den PreisProTag in 2 Spalten. In der 2. Spalte also um eine Zeile versetzt.
Die entsprechenden Mehrfachindizes habe ich in der Tabelle gesetzt, um Doppelte zu vermeiden.
Den Rest werde ich versuchen mit div. Wenn/dann-Abfragen zu erledigen.
Für diese wenn/dann-Abfragen benötige ich die Spalten ,,AnzTage" und ,,Zaehler".
Nur verstehe ich von den div. SQL-Anwendungen Cross, Outer usw. nichts.
Ich erstelle meine DB nur in der Entwurfsansicht, und bin froh, dass ich hier in diesem Forum Hilfe finde.
VerAE_Artikel LfdSaldo PreisProTag AenderungsDatum AnzTage Zaehler PPTag
Hüftsteak13 6 0,018 19.03.2016 0
Hüftsteak13 13 0,039 19.04.2016 31 0 0,018
Hüftsteak13 18 0,054 09.05.2016 20 1 0,039
Hüftsteak13 21 0,063 20.05.2016 11 2 0,054
Hüftsteak13 23 0,069 29.06.2016 40 0 0,063
Karbonade32 12 0,024 08.07.2016 0 0,069
Lachse12 4 0,008 08.05.2016 1 0,024
Lachse13 1 0,003 02.05.2016 1 0,008
Lachse13 5 0,015 08.05.2016 6 2 0,003
Lachse13 15 0,045 06.06.2016 29 0 0,015
Hallo liebe Freunde,
sind diese Angaben erst einmal ausreichend?
Wenn nicht, gebt mir bitte ne kurze Info.
Hallo Jürgen,
ZitatAlso brauche ich den PreisProTag in 2 Spalten.
versuche es mal mit einer Abfrage analog zu dieser:
Select t1.VerAE_Artikel, t1.LfdSaldo,
t1.LfdSaldo * 0,003 AS PreisProTag,
t1.AenderungsDatum, t1.AnzTage, t1.Zaehler,
(Select t2.LfdSaldo From tabelle As t2
Where {Kriterien zum Auffinden des vorherigen Datensatzes}) * 0,003 AS PPTag
From tabelle As t1
Zur Bestimmung des vorherigen Datensatzes wäre eine fortlaufende Nummerierung hilfreich.