Sql Abfrage
Jürgen
- datenbank
0 Ilja0 Jürgen
1 Vinzenz Mai
hallo,
ich will eine sql abfrage und weiss nicht wie?
Ich habe die tabelle VERKAUFT mit folgenden feldern ID, ID_HERSTELLER, PREIS,DATUM und die tabelle HERSTELLER mit den FELDERN ID, NAME,
Nun will ich wissen welche Summe von einem bestimmten Hersteller in einem zeitrahmen Z.b Monat verkauft wurde.
Wichtig: Die Darstellung sollte aber sortiert nach der SUMME sein.
Bisher habe ich zuerst alle ID_HERSTELLER aus der Tabelle Hersteller ausgelesen und danach mir die Summe der Verkäufe anzeigen lassen. Doch dann ist es natürlich immer nach ID_HERSTELLER sortiert.
Wie kann ich die beiden abfragen verknüpfen?
(MYSQL datenbank,php)
Danke Jürgen
yo,
SELECT h.id, h.name, SUM(v.preis) Summe
FROM hersteller h
INNER JOIN verkauft v ON v.id_hersteller = h.id
WHERE v.datum BETWEEN '01.06.2008' AND '01.07.2008'
GROUP BY h.id, h.name
ORDER BY 2, 1
;
Ilja
tausend dank,
mir war klar das es was mit inner join zu tun hat habe das aber noch nie gemacht, muss ich mir mal draufschaffen.
Danke danke
Jürgen
Hallo
ich will eine sql abfrage und weiss nicht wie?
Ich habe die tabelle VERKAUFT mit folgenden feldern ID, ID_HERSTELLER, PREIS,DATUM und die tabelle HERSTELLER mit den FELDERN ID, NAME,
Nun will ich wissen welche Summe von einem bestimmten Hersteller in einem zeitrahmen Z.b Monat verkauft wurde.
Du hättest also gerne etwas dieser Art:
Gib mir
die Summe der Preise
und den Namen des Herstellers
aus der Tabelle
Hersteller
die mit der Tabelle
Verkauft
über die Spalten id aus hersteller und id_hersteller aus verkauft verknüpft ist
wobei nur ein bestimmter Zeitraum zwischen einem Anfangs und einem Enddatum berücksichtigt werden darf
je Hersteller soll es einen Eintrag geben
Wichtig: Die Darstellung sollte aber sortiert nach der SUMME sein.
sortiert nach der Summe.
Kein Problem :-)
SELECT -- Gib mir
SUM(v.PREIS) summe, -- die Summe der Preise
h.NAME hersteller -- und den Namen des Herstellers
FROM -- aus der Tabelle
HERSTELLER h -- HERSTELLER (mit dem Aliasnamen h angesprochen)
INNER JOIN -- verknüpft mit der Tabelle
VERKAUFT v -- VERKAUFT (mit dem Aliasnamen v)
ON -- über die Spalten
h.ID = v.ID_HERSTELLER -- ID aus Hersteller und ID_HERSTELLER aus VERKAUFT
WHERE -- wobei nur ein bestimmter Zeitraum
DATUM BETWEEN <anfang> AND <enddatum> -- berücksichtigt werden soll
GROUP BY -- gruppiert nach
h.NAME -- dem Namen des Herstellers
ORDER BY -- sortiert nach
SUM(v.PREIS) -- der Summe
Ein einfacher INNER JOIN mit einer einfachen Gruppierung, einer einfachen WHERE- und einer einfachen ORDER-BY-Klausel.
Freundliche Grüße
Vinzenz