各位大大
现在有两个表格A,B
A表中记录有问题的节目报警信息,包括报警开始时间(StartTime),结束时间(EndTime),报警持续时间(DurationTime),报警类型(FaultType),并根据不同的报警类型有相应的规定,节目黑场(FaultType=1)>3秒,无声(FaultType=2)>2秒才够资格对外报警B表中记录着所有节目名称(Name)和节目开始时间(RPTM);现在需要将A表中报警信息和B表节目开始时间中作一个匹配,并输出对外报警的条目。比如A表中有
StartTime                 EndTime                      DurationTime        FaultType
2012-10-08 17:33:56.000   2012-10-08 17:34:00.000      4            1B表中有
Name                    RPTM
<我爱返寻味>安全篇 20121008 17:33:52.00
<欢乐送>微博互动宣传片 20121008 17:35:00:08那么A表中的报警时间指的就是在“<我爱返寻味>安全篇 20121008 17:33:52.00”这条节目,并对外输出相应的条目信息。依次类推对数据库表中的大量信息做比对并输出。求各位高手帮帮忙,有高分相送,谢谢~~!!!sql数据库匹配

解决方案 »

  1.   

    首先要从实际情况上分析一下,一个报警应该不会跨越两个节目,如果这个前提成立,那解决办法:select a.Name,b.*
    from a ,b, (select b.StartTime,max(a.RPTM) as maxRPTM
               from a inner join b  on b.StartTime<a.RPTM
               group by b.StartTime ) as c 
    where a.RPTM=c.maxRPTM and b.StartTime=c.StartTime