W
windowboy
Unregistered / Unconfirmed
GUEST, unregistred user!
现有一个SQL难题.<br>表A中有如下字段:id(number),code(varchar),type(number),start_tm(varchar),end_tm(varchar),start_week(number),end_week(number).<br>code为代码,type为类型(只有1,和2),start_tm为开始时间从0000-2400,end_tm为结束时间从0000-2400,start_week为开始星期从1-7,end_week为结束星期从1-7.<br>如(1,'AAAAA',1,'0000','2400',1,7)表示代码为'AAAAA'商家当类型为1时的有效时间是从星期一的'0000'到'2400'也就是从零点到24点,到星期日的'0000'到'2400'也就是从零点到24点;<br>现在要求查出表中同一商家有效时间重叠‘交叉的记录。类型不要求相同<br>有这几条记录<br>(2,'AAAAA',1,'0000','2000',1,7)与(3,'AAAAA',2,'1800','0000',1,7)是交叉<br>(4,'AAAAA',1,'0000','2400',1,7)与(5,'AAAAA',2,'0800','2000',1,7)重叠