SQL:我可以根据值在表行旁边显示注释吗?

时间:2017-03-09 16:04:52

标签: sql oracle

我们说我有一张表Employees empl_nr, start_date, empl_name, sex, empl_unit unit位于1,2,3

的位置

我想显示一个不在表中的附加列,其中包含注释,具体取决于表中的值。

I.E如果unit='1'表示他们在巴黎工作,我想表现出来;如果员工在2016年开始工作,那么他是一个新人,我想在下面显示该信息示例

1 个答案:

答案 0 :(得分:2)

您需要CASE。例如:

/* build a test case */
with test(n, y) as (
    select 1, 2016 from dual union all
    select 2, 2000 from dual
)
/* the query */
select n,
       case
        when n = 1 then 'comment when n=1'
        when n = 2 then 'comment when n=2'
       end
       || ' and ' ||
       case
        when y > 2010 then 'year greater than 2010'
        else 'year <= 2010'
       end as comm
from test;  

给出:

         N COMM
---------- -------------------------------------------
         1 comment when n=1 and year greater than 2010
         2 comment when n=2 and year <= 2010