用于选择其他列中不存在的值的SQL代码

时间:2019-06-18 12:34:04

标签: sql

我必须找到其他四列中没有的电话号码。电话栏包含特殊字符和额外的前缀,例如91或+91。

select u.agreementnumber,SUBSTR(telephone,-10) as telephone,p.contact1,p.contact2,p.mobile1,p.mobile2 from BIUSR.TBL_TRN_CIBIL_ID_DETAILS u
left join cust_agmt_CA p
on u.agreementnumber=p.agmtno
where (u.telephone != p.mobile1) or (u.telephone != p.mobile2) or (u.telephone != p.contact1) or (u.telephone != p.contact2) 

结果为我提供了具有相同手机号码的电话号码。

1 个答案:

答案 0 :(得分:0)

您应将AND替换为AND条件,以确保四列中的任何一列都不提供手机号码。

SELECT u.agreementnumber, 
   SUBSTR(telephone, -10) AS telephone, 
   p.contact1, 
   p.contact2, 
   p.mobile1, 
   p.mobile2
FROM BIUSR.TBL_TRN_CIBIL_ID_DETAILS u
LEFT JOIN cust_agmt_CA p ON u.agreementnumber = p.agmtno
WHERE(u.telephone != p.mobile1)
 AND (u.telephone != p.mobile2)
 AND (u.telephone != p.contact1)
 AND (u.telephone != p.contact2);