Mailinglisten-Archive |
> Create Table Verkauft (stuckzahl varchar(10) NOT NULL WITH DEFAULT, > verkaufsdatum varchar(20) NOT NULL WITH DEFAULT, Kundenr varchar(20) NOT > NULL WITH DEFAULT, einzelpreis varchar(10) NOT NULL WITH DEFAULT, PRIMARY > KEY (verkaufsdatum)); > > Create Table Kunden (firma varchar(40) NOT NULL WITH DEFAULT, plz > NUMERIC(7) > NOT NULL WITH DEFAULT, strasse char(40) NOT NULL WITH DEFAULT, tel > NUMERIC(30) NOT NULL WITH DEFAULT, kundennr varchar(40) NOT NULL WITH > DEFAULT, PRIMARY KEY (plz)); > > Create Table Vertriebspartner (Id bigint AUTO_INCREMENT NOT NULL WITH > DEFAULT, Vname varchar(40) NOT NULL WITH DEFAULT, plz NUMERIC(7) NOT NULL > WITH DEFAULT, strasse char(40) NOT NULL WITH DEFAULT, ort varchar(40) NOT > NULL WITH DEFAULT, region varchar(25) NOT NULL WITH DEFAULT, PRIMARY KEY > (Id)); > > Ist der Syntax für die Aufgabenstellung korrekt? bzw. Sind die PRIMARY > KEYS > richtig gesetzt? Wie geht es jetzt weiter? Die Primary Keys erscheinen mir fuer die erste und zweite Tabelle falsch. Ein Primary Key ist naemlich unique, d.h. du darfst keine zwei Eintraege mit demselben Indexwert haben. Du willst sicher mehr als einen Kunden pro PLZ :) also setze dort auch eine ID ein. selbes fuer Verkauft, falls du mehr als einen Verkauf pro Tag speichern willst. In der Kundentabelle fehlt ein Foreign Key zum Vertriebspartner, also eine ID-Spalte. Wenn du den Vertriebspartner in die Verkauft-Tabelle mit speicherst, waere es viel einfacher, dann koennte derselbe Kunde bei mehreren Betriebspartnern kaufen, weniger Redundanz. > Meine Aufgabe ist es eine View zu bauen die folgendes ausgibt... > Welcher Vertreibspartner macht den höchsten Umsatz? > Wieviel Produkte hat ein Vertriebspartner im Monat (z.B.) verkauft? SELECT VName, sum(stueckzahl*einzelpreis) as Verkaufssumme FROM Vertriebspartner, Kunden, Verkauft WHERE verkauft.kundennr = kunden.kundennr AND kunden.vertriebspartner_id = vertriebspartner.vertriebspartner_id -- fehlt noch GROUP BY VName ORDER BY Verkaufssumme DESC Nimm dir den ersten Satz :) > [Kann man die View auch ohne JOIN-Syntax erledigen, so dass die > Aufgabenstellung jedoch immer noch erreicht wird? (mit WHERE & AND)] > Bin ratlos, hab mich schon mit DB2 SQL programming & Tuning belesen, > jedoch > noch keine konkreten Schlüsse daraus gezogen? Fuer einen Anfaenger wagst du dich schon in ziemlich tiefe Gewaesser. ciao! Kai -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive