我们说我有一张表Employees
empl_nr, start_date, empl_name, sex, empl_unit
unit
位于1,2,3
我想显示一个不在表中的附加列,其中包含注释,具体取决于表中的值。
I.E如果unit='1'
表示他们在巴黎工作,我想表现出来;如果员工在2016年开始工作,那么他是一个新人,我想在下面显示该信息示例
答案 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