Utilisez le “résultat de l'expression” à partir de CAS de l'expression dans la clause where

Est-il possible de filtrer les enregistrements dans SQL Server en utilisant un résultat de l'expression (weight_class) à partir d'un CASE expression dans le WHERE clause? Je ne peux pas le faire fonctionner parce que j'ai une erreur disant:

Nom de colonne non valide 'weight_class'

Code:

SELECT 
    first_name, last_name, 
    weight_class = CASE
                      WHEN weight < 172 THEN 'Welterweight'
                      WHEN weight <= 192 THEN 'Middleweight'
                      WHEN weight <= 214 THEN 'Light heavyweight'
                      WHEN weight <= 220 THEN 'Cruiserweight'
                      ELSE 'Heavyweight'
                   END
FROM 
    athletes

C'est de cette façon que je veux faire:

SELECT 
    first_name, last_name, 
    weight_class = CASE
                      WHEN weight < 172 THEN 'Welterweight'
                      WHEN weight <= 192 THEN 'Middleweight'
                      WHEN weight <= 214 THEN 'Light heavyweight'
                      WHEN weight <= 220 THEN 'Cruiserweight'
                      ELSE 'Heavyweight'
                   END
FROM 
    athletes
WHERE 
    weight_class = 'Cruiserweight'

OriginalL'auteur Jonas | 2010-12-30