Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Werte aus vorherigem Datensatz in den nächsten Datensatz übernehmen

Begonnen von gassek, Juli 18, 2016, 19:19:55

⏪ vorheriges - nächstes ⏩

gassek

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.
Gruß
Jürgen

MzKlMu

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.
Gruß Klaus

gassek

Tut mir leid, ich war der Meinung, wenn ein Thema beantwortet ist, ist es auch beendet.
Gruß
Jürgen

MzKlMu

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.
Gruß Klaus

gassek

Hallo Klaus,

ja, es ist eine neue Frage zum gleichen Thema.
Gruß
Jürgen

Lachtaube

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).
Grüße von der (⌒▽⌒)

gassek

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.
Gruß
Jürgen

MaggieMay

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.
Freundliche Grüße
MaggieMay

gassek

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
Gruß
Jürgen

gassek

Hallo liebe Freunde,

sind diese Angaben erst einmal ausreichend?
Wenn nicht, gebt mir bitte ne kurze Info.
Gruß
Jürgen

MaggieMay

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.
Freundliche Grüße
MaggieMay