SQL: Alias Column Name for Use in CASE Statement

This:

SELECT col1 as a,
       CASE WHEN a="test" THEN 'yes' END as value 
  FROM table;

…will not work. This will:

SELECT CASE WHEN a="test" THEN 'yes' END as value
  FROM (SELECT col1 AS a
          FROM TABLE)

Why you wouldn’t use:

SELECT t.col1 as a,
       CASE WHEN t.col1 = 'test' THEN 'yes' END as value 
  FROM TABLE t;

…I don’t know.

Leave a Comment