如何编写IFF语句实现左连接关联表无匹配数据的标记需求
解决方案
你原有逻辑的问题在于选错了判断字段:左连接无匹配记录时,仅关联表OOM的关联字段会返回NULL,主表ATO的Account_number永远非空,因此原有判断永远返回1,不符合需求。
你只需要把IFF的判断条件替换为OOM表的Account_number是否为NULL即可,修正后的SQL如下:
SELECT DISTINCT ATO.Agent, ATO.Bottler_ID, ATO.Account_number, ATO.DELIVERY_DATE, IFF(OOM.Account_number IS NULL, 0, 1) AS Opportunity FROM ATO LEFT JOIN OOM ON ATO.Account_number = OOM.Account_number
如果你的SQL运行环境不支持IFF函数,也可以替换为通用的CASE WHEN等效写法:
CASE WHEN OOM.Account_number IS NULL THEN 0 ELSE 1 END AS Opportunity
内容的提问来源于stack exchange,提问作者Vwenck
相关产品推荐
相关产品推荐

