Problem bei einfacher Abfrage

Werbung:
Also.. für jeden Laden das durchschnittliche Alter der Kunden, die über diesen mindestens 2 "Aufträge" gekauft haben..

SELECT LadenName, AVG(Alter)
FROM Laden_Auftrag
...
WHERE Anzahl > 1 (?)

Fehlen "nur" noch die JOINs
 
Also.. für jeden Laden das durchschnittliche Alter der Kunden, die über diesen mindestens 2 "Aufträge" gekauft haben..

SELECT LadenName, AVG(Alter)
FROM Laden_Auftrag
...
WHERE Anzahl > 1 (?)

Fehlen "nur" noch die JOINs


Das mit den Join hatte ich dir schon einige Posts vorher quasi schon fertig präsentiert ;)

Das WHERE sieht sauber aus. Ich glaube aber auch bei MySQL muss man gruppieren wenn man aggregatfunktionen benutzt ;)
 
Code:
SELECT LadenName, AVG( Alter)
FROM Laden_Auftrag la
INNER JOIN Laden l
ON la.FK_LadenID = l.LadenID
INNER JOIN Auftrag a
ON a.AuftragID = la.FK_LadenID"
WHERE a.Anzahl > 2
GROUP BY Alter

Joa.. das haut wohl noch nicht ganz so hin :oops:
 
Dein Ergebnis hat keine Spalte Alter, nur Ladenname und avg, und alle Spalten müssen entweder aggregiert oder gruppiert sein. Du hast nun also 2 Spalten, die avg-Spalte ist aggregiert. Findest Du die andere jetzt selber?


Btw: das Alter zu speichern ist etwas kurzsichtig gedacht, das ändert sich bei lebenden Personen ab und an ...
 
Werbung:
Sind die Hausaufgaben gelöst oder gefällt die Antwort von akretschmer (die meiner meinung nach vollkommen richtig ist) nicht?

Wenn die Hausaufgaben gelöst sind, wäre es toll wenn die Lösung hier gepostet werden kann damit auch andere was davon haben ;)
 
Zurück
Oben