phpbar.de logo

Mailinglisten-Archive

VERKAUFSTABELLE!!!

VERKAUFSTABELLE!!!

Kai Hackemesser kaha at gmx.de
Mit Jul 2 16:43:55 CEST 2003


Hallo, Thomas,

Ich bringe dir erstmal deine Tabellen in Form:

> Create Table Verkauft (verkauft_ID bigint AUTO_INCREMENT NOT NULL,
> stueckzahl varchar(10), verkaufsdatum varchar(20), kundennr varchar(20),
> einzelpreis varchar(10), PRIMARY KEY (verkauft_ID));

Sollte sein:
Create Table Verkauft (
  verkauft_ID BIGINT AUTO_INCREMENT NOT NULL,
  kunde_ID BIGINT NOT NULL,
  verkaufsdatum DATE, 
  stueckzahl INT, 
  einzelpreis FLOAT(10,4), 
  PRIMARY KEY (verkauft_ID)
);

> Create Table Kunden (vertriebspartner_ID bigint AUTO_INCREMENT NOT NULL,
> firma varchar(40), plz NUMERIC(7), strasse varchar(40), tel NUMERIC(30),
> kundennr varchar(40), PRIMARY KEY (vertriebspartner_ID));

Sollte sein:
Create Table Kunden (
  kunde_ID bigint AUTO_INCREMENT NOT NULL,
  vertriebspartner_ID bigint NOT NULL,
  kundennr varchar(40), 
  firma varchar(40), 
  plz NUMERIC(7), 
  strasse varchar(40), 
  tel NUMERIC(30),
  PRIMARY KEY (kunde_ID)
);

> Create Table Vertriebspartner (vertriebspartner_ID bigint AUTO_INCREMENT
> NOT NULL, Vname varchar(40), plz CHAR(7), strasse varchar(40), ort
> varchar(40), region varchar(25), PRIMARY KEY (vertriebspartner_ID));

Kann man so lassen :)

> Select Abfrage die rausgeben soll welcher Vertriebspartner den höchsten
> Umsatz im Jahr gemacht hat:
> 
> SELECT vertriebspartner.VName, sum(stueckzahl*einzelpreis) as
> Verkaufssumme
> FROM vertriebspartner, kunden, verkauft
> WHERE verkauft.kunde_ID = kunden.kunde_ID
> AND kunden.vertriebspartner_id = vertriebspartner.vertriebspartner_id
> GROUP BY VName
> ORDER BY Verkaufssumme DESC

> 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.

Es liegt vor allem am schlechten DB-Design. Wenn du da Unterstuetung
brauchst, ich koennte einen kleinen Nebenjob gut gebrauchen :)

ciao!
Kai

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


php::bar PHP Wiki   -   Listenarchive