Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Reutilize o campo com alias na instrução SQL SELECT


Uma solução alternativa seria usar uma subconsulta:
SELECT
  FieldA,
  FieldA + 20 AS FieldB
FROM (
  SELECT 
    (CASE WHEN ...) AS FieldA
  FROM Tbl
) t

Para melhorar a legibilidade, você também pode usar um CTE :
WITH t AS (
  SELECT 
    (CASE WHEN ...) AS FieldA
  FROM Tbl
)
SELECT
  FieldA,
  FieldA + 20 AS FieldB
FROM
  t