我拥有与另一个表(table2
- 包含客户联系信息)相关的主表(table1
- 包含客户主要信息),常用值为ID
。通过SQL查询找到复杂条件下的空值
在主表中的ID
值给我1列,另一个表可以给我更多的行,这取决于有多少接触类型的客户有,例如:
- main_phone(该行始终存在)
- HOME_PHONE
- work_phone
- 移动等
我试图实现:
首先我想检查移动值,如果行丢失或没有移动值,但行存在,那么我想检查main_phone
值。
但是,如果有mobile
值,那么我不想检查main_phone
值。 如果main_phone
值也丢失,那么我想要这些记录。
目前,我有查询:
Select customer
From table1 t1
Join table2 t2 on t1.id = t2.id
Where t2.type in (main_phone, mobile)
And t2.type_values in ('',null,'-')
但问题是,如果客户有手机号码和失踪的电话号码,这些客户记录也是在结果中显示。
显示正确的数据样本和预期的结果 – scaisEdge
这里是一个很好的开始。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
您是否在寻找没有手机或main_phone号码的客户? – Beth