Hallo Community,
ich habe eine verzwickte Aufgabe:
Ich habe eine Tablle Tour, in ihr sind einmal eine Fahrernummer enthalten eine Tournummer(primary auto inc) und eine fahrbewertung zwischen 1 und 6.
Ich möchte nun den Fahrer haben mit der besten Fahrbewertung, das Problem mehrere fahrer haben mehrere Touren.
So mit dieser Query bekomme ich nun ja schonmal die Summe der Fahrbewerungen heraus
Mit dieser Query bekomme ich die Anzahl der getätigten Fahrten heraus
Jetzt müsste man nur wie in der Schule beim Notendurchschnitt
Summe(Fahrbewertungen)/Anzahl(Fahrten).
So dies würde aber nur für einen Fahrer gelten. Wenn ich dies für alle Fahrer realisieren kann, brauche ich nur noch über Select Max() den fahrer raussuchen der die beste Bewertung hat.
Aber genau das ist mein Problem. Ich bekomme keine Liste erstellt die mir die Durchschnittsbewertungen aller Fahrer ausgibt, da mir
die Subquery mehrere Tuppel zurück liefert.
Wie könnte ich diese Berechnung am besten Anstellen?
Ich hatte erst überlegt es in in einer Procedure ausrechnen zu lassen, so das ich für jeden Fahrer einzeln sein Durchschnitt berechne, nur das ich dann n-Variablen benötigen würde um die ergebnisse zu sichern. Da ich nicht die Anzahl der Fahrer kenne. Unter C# oder einer anderen Hochsprache wäre dies ja kein Problem, nur welche Lösung wäre für SQL am geeignetsten?
ich habe eine verzwickte Aufgabe:
Ich habe eine Tablle Tour, in ihr sind einmal eine Fahrernummer enthalten eine Tournummer(primary auto inc) und eine fahrbewertung zwischen 1 und 6.
Ich möchte nun den Fahrer haben mit der besten Fahrbewertung, das Problem mehrere fahrer haben mehrere Touren.
So mit dieser Query bekomme ich nun ja schonmal die Summe der Fahrbewerungen heraus
Code:
Select sum(Fahrbewertung) from Tour Group by MitarbeiterNr
Code:
(Select COUNT(MitarbeiterNr) from Tour Group by MitarbeiterNr)
Summe(Fahrbewertungen)/Anzahl(Fahrten).
So dies würde aber nur für einen Fahrer gelten. Wenn ich dies für alle Fahrer realisieren kann, brauche ich nur noch über Select Max() den fahrer raussuchen der die beste Bewertung hat.
Aber genau das ist mein Problem. Ich bekomme keine Liste erstellt die mir die Durchschnittsbewertungen aller Fahrer ausgibt, da mir
Code:
Select sum(Fahrbewertung) from Tour Group by MitarbeiterNr / (Select COUNT(MitarbeiterNr) from Tour Group by MitarbeiterNr)
Wie könnte ich diese Berechnung am besten Anstellen?
Ich hatte erst überlegt es in in einer Procedure ausrechnen zu lassen, so das ich für jeden Fahrer einzeln sein Durchschnitt berechne, nur das ich dann n-Variablen benötigen würde um die ergebnisse zu sichern. Da ich nicht die Anzahl der Fahrer kenne. Unter C# oder einer anderen Hochsprache wäre dies ja kein Problem, nur welche Lösung wäre für SQL am geeignetsten?
Comment