日期:2014-05-17  浏览次数:20845 次

求大侠看看这个表写个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)