0

我有一张桌子,里面有 3 个不同的电话号码,我想根据号码是手机还是座机将其减少到两个电话号码。

该表的格式如下:

带输出的样本数据(电话 1 和电话 2)

CASE WHEN TR1.PHONE_TYPE = 'M' THEN 'SOURCE_FULL_MOBILE_NO'
     WHEN TR1.PHONE_TYPE <> 'M' AND TR2.PHONE_TYPE = 'M' THEN 'SOURCE_DAYTIME_NUMBER'
     WHEN TR3.PHONE_TYPE = 'M' AND TR1.PHONE_TYPE <> 'M' AND TR2.PHONE_TYPE <> 'M' THEN 'SOURCE_EVENING_NUMBER'
     WHEN TR1.PHONE_TYPE = 'L' AND TR2.PHONE_TYPE <> 'M' AND TR3.PHONE_TYPE <> 'M' THEN 'SOURCE_FULL_MOBILE_NUMBER'
     WHEN TR2.PHONE_TYPE = 'L' AND TR1.PHONE_TYPE <> 'M' AND TR3.PHONE_TYPE <> 'M' THEN 'SOURCE_DAYTIME_NUMBER'
     WHEN TR3.PHONE_TYPE = 'L' AND (TR1.PHONE_TYPE <> 'M'  OR TR1.PHONE_TYPE IS NULL ) AND (TR2.PHONE_TYPE <> 'M' OR TR2.PHONE_TYPE IS NULL ) THEN  'SOURCE_EVENING_NUMBER'
     else null
END as Phone1

问题是我相信我应该能够使用逻辑表对此进行编程......但是,当我运行上面的部分时,如果 Mobile 为 null 并且 Evening number 为 null 并且 Daytime 填充了 phone1 和 phone2 都为 null。但是,电话 1 应填充白天电话号码。有什么我做错了吗?

4

0 回答 0