GROUP BY oder wie mache ich das
keinohrhase
- datenbank
0 EKKi0 keinohrhase0 Steel
0 Steel
Hallo zusammen,
ich habe eine Tabelle in der Arttikel, die zu einem Warenkorb gehören, gespeichert sind.
Die Tabelle ist folgend aufgebaut:
id | basket_id | products_id | producer
Die basket_id bezieht sich auf den jeweiligen Warenkorb, die products_id auf den jeweiligen Artikel, Producer ordnet dem jeweiligen datensatz den Produzenten zu.
ich habe jetzt zum Beispiel:
1 | 109 | 25 | 1
2 | 109 | 26 | 1
3 | 109 | 35 | 2
Jetzt möchte ich aus diesen Daten Lieferscheine erstellen, möchte natürlich, das die Artikel, welche an von einem Produzenten sind, auf einen Lieferschein kommen.
Wie mache ich das ?
Bin für jederlei Vorschläge offen
Gruß
keinohrhase
Mahlzeit keinohrhase,
Die Tabelle ist folgend aufgebaut:
id | basket_id | products_id | producer
Die basket_id bezieht sich auf den jeweiligen Warenkorb, die products_id auf den jeweiligen Artikel, Producer ordnet dem jeweiligen datensatz den Produzenten zu.
Hat ein Produkt immer genau einen Produzenten? Oder kommt es auf die Kombination Warenkorb-Produkt an, wer der Produzent ist?
Du hast im Übrigen vergessen anzugeben, welches Datenbanksystem Du verwendest.
MfG,
EKKi
Hi, danke schonmal für Eure Aufopferung.
Hat ein Produkt immer genau einen Produzenten? Oder kommt es auf die Kombination Warenkorb-Produkt an, wer der Produzent ist?
Der Produzent wird dem Produkt manuell zugeordnet, so das zwei identische Produkte trotzdem von zwei diversen Produzenten kommmen könnten. Es besteht also keine allgemeine Beziehung zwischen Produkt und Produzent.
Du hast im Übrigen vergessen anzugeben, welches Datenbanksystem Du verwendest.
Entschuldige, wollte ich als letztes machen und hab es natürlich vergessen.
MySQL 5
@Steel
Ich muss den Lieferschein splitten, da die Produkte die verkauft werden, erst Just in Time hergestellt werden, und die Lieferscheine dann jeweils an die verschiedenen Hersteller gehen sollen, welche direkt an den Kunden ausliefern.
Gruß
keinohrhase
Hi!
@Steel
Ich muss den Lieferschein splitten, da die Produkte die verkauft werden, erst Just in Time hergestellt werden, und die Lieferscheine dann jeweils an die verschiedenen Hersteller gehen sollen, welche direkt an den Kunden ausliefern.
Ahhh! Jetzt hab ich es gerafft! Ein Kunde packt den Wartenkorb voll und je nach Situation wird der Kaese von Bauer A oder B hergestellt/geliefert. (oder der Stuhl von Tischler C) Du nimmst also den Warenkorb und moechtest herausfinden, welcher Produzent welche Waren liefern soll.
Das ist eine Sache, die man, wie ich schon erwaehnt habe, wohl am Besten einem Programm ueberlaesst. Das heisst, du laesst dir den Warenkorb geben (am Besten nach Produzenten sortiert) und gehst dann durch die Liste. Bei jedem Gruppenwechsel schliesst Du einen Lieferschein ab und erstellt einen neuen.
Das ganze geht natuerlich auch ueber die DB. Ein Group By hat da aber nichts verloren, da Du doch wohl die Daten der einzelnen Artikel benoetigst - ausser Du moechtest eine Liste der Produzenten eines Warenkorbs erstellen.
Das ist eine Sache, die man, wie ich schon erwaehnt habe, wohl am Besten einem Programm ueberlaesst. Das heisst, du laesst dir den Warenkorb geben (am Besten nach Produzenten sortiert) und gehst dann durch die Liste. Bei jedem Gruppenwechsel schliesst Du einen Lieferschein ab und erstellt einen neuen.
Hi,
also würde ich einfach in eine Variable z.B. die Produzenten-ID speichern, und wenn sie sich wechselt, mache ich den nächsten Lieferschein !?
Vielen Dank auf jeden Fall schoneinmal
keinohrhase
Mahlzeit keinohrhase,
also würde ich einfach in eine Variable z.B. die Produzenten-ID speichern, und wenn sie sich wechselt, mache ich den nächsten Lieferschein !?
Das wäre mir jetzt auch als erstes eingefallen ... probier's einfach mal aus und melde Dich, wenn's Probleme gibt.
MfG,
EKKi
Hoi!
also würde ich einfach in eine Variable z.B. die Produzenten-ID speichern, und wenn sie sich wechselt, mache ich den nächsten Lieferschein !?
Ja. Das waere der Ansatz, der mir so ad hoc einfaellt.
Warenkorb lesen.
Gibt es Daten?
Lieferschein erstellen
Ersten Datensatz lesen, Produzent merken
Datensatz verarbeiten
naechster Datensatz
Produzent prufen
gleicher Produzent?
Datensatz verarbeiten
anderer Produzent?
Lieferschein abschliessen und neuen erstellen.
...
Man kann das ganze natuerlich auch in der DB machen und dort Lieferscheindaten generieren und in eine Lieferscheintabelle schreiben. Oder eine Mischung aus Programm und Datenbank. Es gibt immer viele Moeglichkeiten.
Hi!
So ganz verstehe ich Dein Problem nicht. Du moechtest aus einem Warenkorb verschiedene Lieferscheine machen? Ich bekomme also, wenn ich ein Nokia und ein Samsung Mobiltelefon bestelle einen Nokia und einen Samsung Lieferschein?
Generell bekommts Du eine Liste der gesuchten Eintraege indem Du nach der Producer ID suchst. Aber ich denke, das ist nicht Dein Problem und ich weiss nur grad nicht, was genau Du eigentlich willst.
Spontan wuerde ich sagen, von der Datenbankseite hast Du schon was Du brauchst und musst nur noch dein Programm auf die Daten loslassen.