Zwei gleiche Einträge in MySQL Datenbank zusammenfassen
Hey Leute. Ich hab in einer MySQL Datenbank eine Bestellungsliste mit den Spalten "id", "anzahl" und "bestellung".
Angenommen es gibt einen Eintrag:
anzahl: 1 bestellung: Döner komplett mit Kräutersoße
Und einen Eintrag:
anzahl: 3 bestellung: Döner komplett mit Kräutersoße
Gibt es eine Möglichkeit, irgendwie mit der UPDATE Funktion oder so, die beiden Bestellungen zusammen zu fassen, also so:
anzahl: 4 bestellung: Döner komplett mit Kräutersoße
Vielen Dank schon mal im Vorraus.
LG Timo
3 Antworten
Hello there,
dann ist das Datenbankdesign schlecht.
Du musst ja irgendwie noch Ausdrücken, welche Sachen zusammen gehören.
Die Spalte Bestellung würde ich dafür nehmen, dass die praktisch nen eigener Index wird und das was du da derzeit stehen hast, würde ich inne neue Spalte "Beschreibung" oder "Artikel" auslagern.
Dann kannst du nämlich die Bestellung auch etwa einer bestimmten Person zuordnen.
Wenn du das korrekt machst, wären solche Vorgehensweisen wie du das grad planst nicht mehr nötig. Weil du dann immer weißt was zusammen gehört.
So wie du das machst, müsstest du umständlich und vor allem händisch immer die Einträge zusammen basteln, das würd ich nicht machen.
Schreib mal ne PN an mich, dann klären wir das.
MfG
Alex
Ich würde es in zwei Schritten machen
update Bestellungsliste set anzahl = (select sum(anzahl) from bestellungsliste where...) where bestellung = 'Döner komplett mit Kräutersoße'
Und dann
delete from Bestellungsliste where bestellung = 'Döner komplett mit Kräutersoße' and anzahl < (select max(anzahl)...)
Ich gehe davon aus, dass die Anzahl immer größer als 0 ist.
Möglich ist das schon.
Was willst du denn überhaupt machen? Willst du alle Döner mit Kräutersoße, die bestellt werden zusammenzählen, oder geht es darum, dass ein einzelner Kunde einen bestellt und anschließend nochmal 3, es sich aber eigentlich um die gleiche Bestellung handelt?