如何查出一个号码不在任何一个号码段中?(20分)

  • 主题发起人 主题发起人 halen
  • 开始时间 开始时间
H

halen

Unregistered / Unconfirmed
GUEST, unregistred user!
如何查出一个号码不在任何一个号码段中?
两个表:电话号码表t_TelNo 和号段表t_Segment
t_TelNo中字段: TelNo char(10)
t_Segment中字段:StartNo char(10)、EndNo char(10)
我如何写sql语句,查出不在任何一个号码段中的号码?
 
select t_TelNo.* from t_TelNo t_Segment where t_TelNo.TelNo<t_Segment.StartNo
or t_TelNo.TelNo>t_Segment.EndNo
 
cbtea给的好象有问题,这样会多找很多记录出来
如 号码 1,11,111,1111 ,段 0-9,10-99,100-999
应查出 1111,但是按 cbtea给的 1 < 100成立,111>99成立 所以 1,11,111都会被选出


select TelNo from t_TelNo t1
where Not exists
(
select StartNo from t_Segment,t_TelNo t2
where t2.TelNo<t_Segment.StartNo
and t2.TelNo>t_Segment.EndNo
and t1.TelNo=t2.TelNo
)
 
后退
顶部