这样的SQL语句该怎么写?
这个问题在这个版提过好几次了,但是由于我这边功能的时常改动,所以总是不能最终解决,现在把这个问题重新提出来,希望能有人帮我解决一下.
说明:这个系统相当于是在线式巡更系统,到了时间报警点就必须打电话给值班室,否则就会给出提示,我需要的这个SQL语句只需要将某一字段设置为1就可以了.
表结构
表名:FenJi
字段名:Phynum,FjiNum,PointName,StartTime,SpaTime,Flags,wucha
(解释:分机物理号,分机号,报警点,开始时间,报警间隔,标志位,误差)
表名:XinXi
字段名:XDate,XTime,Banci,Pointname,PerNum,Xinxi)
(解释:报警日期,报警时间,班次,报警点,报警人,信息)
首先设置在Fenji表中设置报警点的报警开始时间,报警间隔,误差
比如从2005-7-28 15:00:00开始每隔30分钟(误差为5分钟)打一次电话给值班室,就是说正常情况下14:55:00--15:05:00 15:25:00--15:35:00 15:55:00--16:05:00 16:25:00--16:35:00该报警点应该打电话给值班室,在15:05:00这个时刻如果从14:55:00开始到15:05:00值班室都没有接到该报警点的电话那么就将标志位flags置为1
参考数据
Fenji
PhyNum FjiNum pointname starttime spatime flags wucha
1 801 东门 2005-7-1 12:00:00 30 0 10
2 802 西门 2005-7-28 12:00:00 30 1 5
3 803 南门 2005-8-8 12:00:00 5 <Null> 1
Xinxi
Xdate xtime banci pointname pernum xinxi
2005-7-28 12:00:00 上午 东门 F0025 正常
2005-7-28 14:32:00 下午 东门 F0030 正常
2005-7-28 11:58:00 上午 西门 F0011 正常
2005-7-28 13:00:00 上午 西门 F0055 正常
东门上次报警时间是14:32:00,下次报警时间应该是15:00:00, 到了15:10:00如果从14:50:00开始都没有该点的报警信息的话就将该点flags置1
西门上次报警时间是11:58:00,下次报警时间应该是12:30:00, 到了12:35:00如果从12:25:00开始都没有该点的报警信息的话就将该点flags置1
南门由于还没有到报警开始时间,所以flags值为空