How do you select all columns, plus the result of a CASE statement in oracle 11g?

后端 未结 3 1536
迷失自我
迷失自我 2021-02-01 04:12

I want to select *, and not have to type out all individual columns, but I also want to include a custom column with a case statement. I tried the following:

se         


        
相关标签:
3条回答
  • 2021-02-01 04:20

    As IronGoofy says, add the table alias.

    On a different note be aware that there is a handy searched case syntax that would be suitable for your situation:

    select t.*,
           case PRI_VAL
             when 1 then 'High' 
             when 2 then 'Med' 
             when 3 then 'Low' 
           end as PRIORITY 
    from MYTABLE t; 
    
    0 讨论(0)
  • 2021-02-01 04:23

    Do it like this:

    select e.*,
    case deptno
    when 30 then 'High'
    when 20 then 'Medi'
    when 10 then 'Low'
    else 'Very Low'
    end case
    from emp e order by deptno desc;
    
    0 讨论(0)
  • 2021-02-01 04:35

    Add an alias for mytable like this:

    select t.*, (case when PRI_VAL = 1 then 'High'
                    when PRI_VAL = 2 then 'Med'
                    when PRI_VAL = 3 then 'Low'
              end) as PRIORITY
    from MYTABLE t;
    

    This is not dependent on any specific Oracle version, not sure about other databases.

    0 讨论(0)
提交回复
热议问题