phpbar.de logo

Mailinglisten-Archive

VERKAUFSTABELLE!!!

VERKAUFSTABELLE!!!

Cybot 4t2.com-mysql at tekkno4u.de
Mit Jul 2 17:04:23 CEST 2003


> Wie komme ich jetzt auf das richtige Ergebnis?
> Liegt es im erstellen der Tabellen (CREATE), Im Befüllen (INSERT),  In der
> Select Abfrage oder vielleicht beim setzten der Primary Keys.

... mhm also eigentlich sieht das alles komisch aus
hast du schon mal ein buch gelesen über datenbank-design?
oder gibt es irgendwelche widrigen umstände die ich jetzt hier nicht 
erkennen kann die dich zwingen die tabellen inh dieser form zu nutzen?

normaler weiße wären dafür 4 tabellen nötig:

Vertriebspartner -- alle vertriebspartner
Firma -- alle firmen
VP_Firma -- zuordnung firma <-> Vertriebspartner
Verkauf -- Verkäufe

Vertriebspartner mit vp_id und restlichen vp_daten
Firma mit firma_id und restliche firmen-daten
VP_Firma mit vp_id und firma_id

jetzt wäre es wichtig zu wissen ob jede firma nur _einen_ 
vertirebspartner haben kann, dann wginge es so weiter:

Verkauf mit firma_id und restliche verkauf-daten (menge, einzelpreis, 
art-nr, bez, ...)

oder wenn eine firma _mehrere_ vertriebler haben kann:

Verkauf mit firma_id, vp_id und restliche verkauf-daten (menge, 
einzelpreis, art-nr, bez, ...)

nun where ein select zur ausgabe des vp mit höchstem umsatz wie folgt 
einfach

SELECT vp.*, SUM(verkauf.anzahl * verkauf.einzelpreis) AS umsatz
FROM vertriebspartner AS vp
  LEFT JOIN verkauf ON vp.vp_id = verkauf.vp_id
GROUP BY vp.vp_id
ORDER BY umsatz DESC
LIMIT 1

... oder so ähnlich

-- 
Sebastian Mendel

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive