现有两个时间表
table1
---------------------------------------------
编号  警告 剩余时间  登记时间     事件类型    
1     红牌   -3       2010-6-1    一般事件  
2     黄牌    1       2010-6-2    重要事件
3     正常    5       2010-6-3    重大事件

-----------------------------------------------
table2
-----------------------------
编号  事件类型    处理时限(天)
1     一般事件       5
2     重要事件       10
3     重大事件       15
------------------------------现在我想实现这样的功能:
根据table1的登记时间与系统当前时间差与table2给的处理处理时限比较来改变table1中剩余的时间,等剩余时间
-3时或者更小时警告字段改为红牌,等剩余时间为1时为黄牌,等剩余时间为5时为正常,
比如:
table1中编号为1的为一般事件,那个它的处理时限为5天,而系统根据当前的系统时间(比如是2010-6-9)与登记的时间(比如2010-6-1)则剩余时间-3,同时警告字段改为红牌,请问怎么实习。谢谢各位!

解决方案 »

  1.   

    select 编号 ,case when 处理时限-datediff(day,登记时间,getdate())<='-3'
    then '红牌' esle when 处理时限-datediff(day,登记时间,getdate())>'-3'
    and 处理时限-datediff(day,登记时间,getdate())<='1' then '黄牌'
    else '正常' end 警告 ,剩余时间 ,登记时间 ,table1.事件类型
    from table1
    ,table12 where table1.事件类型
    =table2.事件类型
      

  2.   

    请问CSDN管理员及各位C友!为什么CSDN需要我没完没了的登录?只要我点击了通知,私信,好友,然后我每回复一帖系统就要我登录一次,从6.1到今天,至少已经登录了数百次了.
    (前些日子情况稍好些.)实在忍无可忍,只好发帖了质问了.环境: windows2003 + IE6请问:是我系统(设置)的问题,还是CSDN开发人员水平太烂,居然烂到如此地步?另外:发此帖登录三次,内容重写两遍(因为发贴后又要我登录,然后写的内容就无踪影了,只好重写).在此对CSDN这种机制发表自己强烈的愤怒和进行强烈的抗议!如有类似经历者,请指点我该如何操作,谢谢.最后,我居然发不出帖!!!