当前位置: 代码迷 >> Oracle管理 >> 求大侠看看这个表写个SQL,左写右写都不对解决思路
  详细解决方案

求大侠看看这个表写个SQL,左写右写都不对解决思路

热度:73   发布时间:2016-04-24 05:39:32.0
求大侠看看这个表写个SQL,左写右写都不对
------有一个表employee,列name,列age,列sex,列type,列creattime,列flag...等等-----

  现在需求是这样的:检索人员信息,条件是显示正式员工与临时员工信息
限制条件范围是:临时员工的创建时间date必须为系统时间date而正式员工没有这个限制,只要是正式员工且停用标志为F,则显示全部信息,不能用Union

说明:type列:数字型,1为正式,2为临时
flag列:字符型,T为启用,F为停用
createtime列:为创建时间

------解决方案--------------------
select case when t.id=1 and t.sex=1 then 1 when sex!=1 then 2 end from test t;
类似这样 就不用 union了把。 

------解决方案--------------------
select * from employee where (type=2 and createtime = sysdate) or (type=1 and flag=F)
  相关解决方案