palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Hallo zusammen,
ich möchte den Artikel ausgeben, der die maximale Gesamtmenge an Bestellungen besitzt.
Dies geht ja ganz gut so:
Jetzt habe ich aber das Problem, dass (im extremsten Fall) alle Artikel gleich oft bestellt wurden.
Also sollte nicht nur eine Zeile ausgegeben werden. Wie bekomme ich das hin?
Soetwas wie HAVING MAX(SUM(...)) wäre schön. Geht das? Ich bekomme es nicht hin.
Folgendes habe ich probiert:
Das Problem ist aber, dass bei "FROM v" die Tabelle nicht bekannt ist.
Erstelle ich zunächst eine View und sagen dann FROM view_name
geht es. Aber insgesamt finde ich das ganze dann etwas umständlich:
Wenn es denn die zweite Lösung sein muss: Gibt es eine Möglichkeite ohne View?
Danke schon mal!
ich möchte den Artikel ausgeben, der die maximale Gesamtmenge an Bestellungen besitzt.
Dies geht ja ganz gut so:
SQL:
SELECT bp.Artikel_Nr, SUM(bp.Bestellmenge)
FROM bestellpositionen AS bp
GROUP BY bp.Artikel_Nr
ORDER BY SUM(bp.Bestellmenge) DESC
LIMIT 1
Jetzt habe ich aber das Problem, dass (im extremsten Fall) alle Artikel gleich oft bestellt wurden.
Also sollte nicht nur eine Zeile ausgegeben werden. Wie bekomme ich das hin?
Soetwas wie HAVING MAX(SUM(...)) wäre schön. Geht das? Ich bekomme es nicht hin.
Folgendes habe ich probiert:
SQL:
SELECT a.Artikel_Nr, a.Bezeichnung
FROM artikel AS a
WHERE a.Artikel_Nr IN(SELECT Artikel_Nr
FROM (SELECT artikel_nr, sum(bestellmenge) as summe
FROM bestellpositionen
GROUP BY artikel_nr) AS v
WHERE summe = (SELECT MAX(summe)
FROM v));
Erstelle ich zunächst eine View und sagen dann FROM view_name
geht es. Aber insgesamt finde ich das ganze dann etwas umständlich:
SQL:
CREATE VIEW v_artikel_anzahl AS
SELECT artikel_nr, SUM(bestellmenge) AS summe
FROM bestellpositionen
GROUP BY artikel_nr;
SELECT a.Artikel_Nr, a.Bezeichnung
FROM artikel AS a
WHERE a.Artikel_Nr IN(SELECT Artikel_Nr
FROM v_artikel_anzahl
WHERE summe = (SELECT MAX(summe)
FROM v_artikel_anzahl));
Wenn es denn die zweite Lösung sein muss: Gibt es eine Möglichkeite ohne View?
Danke schon mal!