Sloupec neexistuje
Při použití WHERE jako podmínky filtru je důležité myslet na pořadí zpracování dotazu. V tomto cvičení chceš dotaz, který vrátí hráče NBA s průměrným celkovým počtem doskoků 12 nebo více za zápas. Následující vzorec vypočítá průměrný celkový počet doskoků z tabulky PlayerStats:
$$Average Total Rebounds = \dfrac{(Defensive Rebounds + Offensive Rebounds)}{Games Played}$$
První dotaz v kroku 1 vrátí chybu. Klikni na Run Code a zobraz si ji. Druhý dotaz v kroku 2 ti dá správné výsledky bez chyby – pomocí poddotazu.
Všimni si, že GamesPlayed je CAST AS numeric, aby výstup obsahoval desetinná čísla, nikoli celá čísla.
Toto cvičení je součástí kurzu
Improving Query Performance in SQL Server
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- First query
SELECT PlayerName,
Team,
Position,
(DRebound+ORebound)/CAST(GamesPlayed AS numeric) AS AvgRebounds
FROM PlayerStats
WHERE AvgRebounds >= 12;