首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将CASE语句与连接一起使用

如何将CASE语句与连接一起使用
EN

Stack Overflow用户
提问于 2019-06-27 02:08:37
回答 1查看 37关注 0票数 0

我正在尝试使用join语句,它根据特定的case语句而有所不同。当字段lane.dest_postal_code_prefix不为空时,我希望连接类似于下面的第一段代码。当字段lane.dest_postal_code_prefix为空时,我希望连接类似于下面的第二个代码块。(注意两种情况在on条件上的差异)

我需要一些帮助,将case语句添加到join子句中。

--WHEN lane.dest_postal_code_prefix is NOT NULL
SELECT * FROM big_bucket_bridge A
    LEFT JOIN lane 
    ON
    (
    A.customer_country = lane.dest_country_code
    AND
    SUBSTRING( A.ddm_zip, 1, LENGTH( lane.dest_postal_code_prefix ) ) = 
    lane.dest_postal_code_prefix
        )

WHERE  
    snapshot_day between '2019-06-23'-22 and '2019-06-23'
    AND (is_before_cutoff_g OR (is_before_cutoff_opt_g and not under_two))
    AND row_n =1
;

--WHEN lane.dest_postal_code_prefix is NULL
SELECT * FROM big_bucket_bridge A
    LEFT JOIN lane 
    ON
    (
    A.customer_country = lane.dest_country_code
    )

WHERE  
    snapshot_day between '2019-06-23'-22 and '2019-06-23'
    AND (is_before_cutoff_g OR (is_before_cutoff_opt_g and not under_two))
    AND row_n =1
;
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56778750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档