Einzelnen Beitrag anzeigen

sunnyandy

Registriert seit: 24. Feb 2006
49 Beiträge
 
#1

Kleines Problem bei einer SQL-Gruppierung

  Alt 24. Okt 2006, 10:22
Datenbank: mySQL • Version: 5 • Zugriff über: zeos
Hallo!

In der folgenden Anweisung möchte ich den Umsatz für einen Vertriebspartner ermitteln und gruppiere also zuerst nach "pr.vertrag_id", um die Gesamtsumme für einen Vertrag zu berechnen.
Anschließen werden die Aufträge noch nach Vertriebspartner_id gruppiert, um den Umsatz eines Vertriebspartners zu berechnen.
Mein Problem ist, dass es in den Joins zu einigen Vertriebspartnern keinen Auftrag gibt.
Und wenn ich nach den Aufträgen gruppiere, dann fallen nunmal die Vertriebspartner raus, denen kein Auftrag zugeordnet ist und schließlich erscheinen sie gar nicht.
Eine Lösung wäre ja, diese ganze Anweisung mit UNION mit einer zu verbinden, um die Vertriebspartner zu suchen, die gar keine Aufträge geschrieben haben und ich dort manuell einen Umsatz von 0 hinschreibe.

Aber geht es nicht auch noch einfacher?
Hoffe ihr könnt mir helfen
Gruß, Andy

SQL-Code:
SELECT `vertriebspartner_id`, sum(`sonderpr`), sum(`summe`)
FROM(
SELECT vp.vertriebspartner_id, sum(bestellung.anzahl*bestellung.sonderprovision) `sonderpr`, pr.provisionierungssumme `summe`
FROM vertriebspartner vp
JOIN provisionen pr ON (pr.vertriebspartner_id = vp.vertriebspartner_id)
JOIN bestellte_artikel bestellung ON (bestellung.vertrag_id = pr.vertrag_id)
JOIN auftraege auf ON (auf.vertrag_id = pr.vertrag_id)
WHERE pr.vertriebspartner_id = pr.provision_von
GROUP BY pr.vertrag_id ) x
GROUP BY `vertriebspartner_id`
  Mit Zitat antworten Zitat