Re-use aliased field in SQL SELECT statement

前端 未结 2 1630
灰色年华
灰色年华 2020-12-11 02:15

I\'d like to achieve something like this:

SELECT 
  (CASE WHEN ...) AS FieldA,
  FieldA + 20 AS FieldB
FROM Tbl

Assuming that by \"...\" I\

2条回答
  •  无人及你
    2020-12-11 02:57

    A workaroud would be to use a sub-query:

    SELECT
      FieldA,
      FieldA + 20 AS FieldB
    FROM (
      SELECT 
        (CASE WHEN ...) AS FieldA
      FROM Tbl
    ) t
    

    To improve readability you could also use a CTE:

    WITH t AS (
      SELECT 
        (CASE WHEN ...) AS FieldA
      FROM Tbl
    )
    SELECT
      FieldA,
      FieldA + 20 AS FieldB
    FROM
      t
    

提交回复
热议问题