如何使用sql生成一个状态的列
就是在显示的时候有一个列显示的是这行数据的状态,但是这个列并不存在数据库中,只有判断条件可以得出这个列是什么状态,请问这样的要求是否可行?
就像下面这样。
"需员工确认" == (jl=1 or (jl=2 and sj != 0)) and a.yg=0
"需领导确认" == jl=2 and sj = 0
"已领导确认" == jl = 2 and sj != 0
"已员工确认" == yg = 1
每个状态可以用其他字段表示出来,表名为A。
------解决方案--------------------这样?
select jl,sj,yg,
case when (jl=1 or (jl=2 and sj != 0)) and a.yg=0 then '需员工确认'
when jl=2 and sj = 0 then '需领导确认'
when jl = 2 and sj != 0 then '已领导确认'
when yg = 1 then '已员工确认' end sta
from A
------解决方案--------------------学习了