SQL: Alias Column Name for Use in CASE Statement

前端 未结 11 1807
悲哀的现实
悲哀的现实 2020-12-04 21:38

Is it possible to alias a column name and then use that in a CASE statement? For example,

SELECT col1 as a, CASE WHEN a = \'test\' THEN \'yes\' END as value          


        
11条回答
  •  孤街浪徒
    2020-12-04 22:01

    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.

提交回复
热议问题