Use "expresión de resultado" de la expresión CASE en la cláusula WHERE
¿Es posible filtrar registros en SQL Server usando una expresión de resultado (weight_class) de unCASE
expresión en elWHERE
¿cláusula? No puedo hacerlo funcionar porque recibo un error que dice:
Nombre de columna no válido 'weight_class'
Código:
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
Así es como quiero hacer:
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'