Zwei gleiche Einträge in MySQL Datenbank zusammenfassen

3 Antworten

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.

Woher ich das weiß:Beruf – Programmierer

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

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?

Was möchtest Du wissen?