Hallo liebe Base'ler,
Ausgangssituation:
Ich habe folgende Tabellen:
artikel:
[table="width: 500, class: grid, align: left"]
[tr]
[td]lfdnr[/td]
[td]preis[/td]
[td]wg[/td]
[td]hostname[/td]
[td]timestamp[/td]
[/tr]
[tr]
[td]2[/td]
[td]2.00[/td]
[td]130[/td]
[td]C1597NB0513[/td]
[td]2017-04-12 10:19:21.000000[/td]
[/tr]
[tr]
[td]3[/td]
[td]1.00[/td]
[td]130[/td]
[td]C1597NB0587[/td]
[td]2017-04-12 10:23:46.000000[/td]
[/tr]
[/table]
und
verkauf:
[table="width: 500, class: grid, align: left"]
[tr]
[td]artikelnr[/td]
[td]preis[/td]
[td]wg[/td]
[td]menge[/td]
[/tr]
[tr]
[td]1[/td]
[td]2.00[/td]
[td]130[/td]
[td]1[/td]
[/tr]
[/table]
Ich führe einen Verkauf durch, bei dem wie in einem Geschäft jeder Artikel gescannt wird und dann die Daten "preis" und "wg" (wg = Warengruppe) von einem Barcode kommen, der "timestamp" und der "hostname" dienen nur der Eindeutigkeit des Datensatzes.
In die Tabelle "artikel" wird dann jeder einzelne Artikel einzeln untereinander geschrieben.
Problem:
Die Daten aus "artikel" müssen in der Tabelle "verkauf" konsolidiert werden.
in "verkauf" wird die "artikelnr" automatisch inkrementiert. Dann muss eine Kombination aus "preis" und "wg" aus "artikel" genommen werden und gezählt werden. Daraus resultiert die "menge". Weiteres Problem dabei ist, mit welcher kombination aus "preis" und "wg" fange ich am besten an? Von oben immer der erste? Was mache ich mit den Datensätzen, die ich bereits kopiert habe? Sollte ich die am besten löschen? Denn es kommen immer wieder neue Datensätze sehr schnell hinzu. Mit großer Wahrscheinlichkeit auch gleiche Kombinationen aus "preis" und "wg", die ich ja dann noch nicht in die Tabelle "verkauf" geschrieben habe.
Diese Prozedur möchte ich gerne alle 2 Minuten automatisch mit einem Cronjob durchführen lassen.
Ich hoffe, ich konnte mein Problem verständlich formulieren. Bei unverständnis einfach Fragen.
Mir fehlt im Moment jeglicher Ansatz, mit welchen SQL-Befehlen ich diese Problem lösen könnte.
Schreibe ich mir am besten eine Prozedur oder was?
Vielen Dank für eure Hilfe.
Gruß DenSe
Ausgangssituation:
Ich habe folgende Tabellen:
artikel:
[table="width: 500, class: grid, align: left"]
[tr]
[td]lfdnr[/td]
[td]preis[/td]
[td]wg[/td]
[td]hostname[/td]
[td]timestamp[/td]
[/tr]
[tr]
[td]2[/td]
[td]2.00[/td]
[td]130[/td]
[td]C1597NB0513[/td]
[td]2017-04-12 10:19:21.000000[/td]
[/tr]
[tr]
[td]3[/td]
[td]1.00[/td]
[td]130[/td]
[td]C1597NB0587[/td]
[td]2017-04-12 10:23:46.000000[/td]
[/tr]
[/table]
und
verkauf:
[table="width: 500, class: grid, align: left"]
[tr]
[td]artikelnr[/td]
[td]preis[/td]
[td]wg[/td]
[td]menge[/td]
[/tr]
[tr]
[td]1[/td]
[td]2.00[/td]
[td]130[/td]
[td]1[/td]
[/tr]
[/table]
Ich führe einen Verkauf durch, bei dem wie in einem Geschäft jeder Artikel gescannt wird und dann die Daten "preis" und "wg" (wg = Warengruppe) von einem Barcode kommen, der "timestamp" und der "hostname" dienen nur der Eindeutigkeit des Datensatzes.
In die Tabelle "artikel" wird dann jeder einzelne Artikel einzeln untereinander geschrieben.
Problem:
Die Daten aus "artikel" müssen in der Tabelle "verkauf" konsolidiert werden.
in "verkauf" wird die "artikelnr" automatisch inkrementiert. Dann muss eine Kombination aus "preis" und "wg" aus "artikel" genommen werden und gezählt werden. Daraus resultiert die "menge". Weiteres Problem dabei ist, mit welcher kombination aus "preis" und "wg" fange ich am besten an? Von oben immer der erste? Was mache ich mit den Datensätzen, die ich bereits kopiert habe? Sollte ich die am besten löschen? Denn es kommen immer wieder neue Datensätze sehr schnell hinzu. Mit großer Wahrscheinlichkeit auch gleiche Kombinationen aus "preis" und "wg", die ich ja dann noch nicht in die Tabelle "verkauf" geschrieben habe.
Diese Prozedur möchte ich gerne alle 2 Minuten automatisch mit einem Cronjob durchführen lassen.
Ich hoffe, ich konnte mein Problem verständlich formulieren. Bei unverständnis einfach Fragen.
Mir fehlt im Moment jeglicher Ansatz, mit welchen SQL-Befehlen ich diese Problem lösen könnte.
Schreibe ich mir am besten eine Prozedur oder was?
Vielen Dank für eure Hilfe.
Gruß DenSe