Spalte ist nicht vorhanden
Wenn du WHERE als Filterbedingung verwendest, ist die Verarbeitungsreihenfolge in der Abfrage wichtig. In dieser Übung soll eine Abfrage NBA-Spieler zurückgeben, die im Schnitt 12 oder mehr gesamte Rebounds pro Spiel erzielen. Die folgende Formel berechnet die durchschnittlichen gesamten Rebounds aus der Tabelle PlayerStats:
$$Average Total Rebounds = \dfrac{(Defensive Rebounds + Offensive Rebounds)}{Games Played}$$
Die erste Abfrage in Schritt 1 gibt einen Fehler zurück. Wähle Code ausführen, um den Fehler zu sehen. Die zweite Abfrage, in Schritt 2, liefert mithilfe einer Unterabfrage ohne Fehler die gewünschten Ergebnisse.
Beachte, dass GamesPlayed per CAST AS numeric umgewandelt wird, damit wir Dezimalstellen in der Ausgabe erhalten und nicht nur ganze Zahlen.
Diese Übung ist Teil des Kurses
<Kurs>Verbesserung der Abfrageleistung in SQL Server</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
-- First query
SELECT PlayerName,
Team,
Position,
(DRebound+ORebound)/CAST(GamesPlayed AS numeric) AS AvgRebounds
FROM PlayerStats
WHERE AvgRebounds >= 12;