oracle left join case when then

来源:互联网 发布:编程的希望纪录片 编辑:程序博客网 时间:2024/04/30 12:36

项目中遇到这样的情况,A表中有省市区 三个字段, 省中默认有数据, 如果市中有数据 则显示市中 数据, 省市区中都有数据,则显示区中数据,由于 这三个字段中存的是城市编码, 需要到另外一张表 B 做关联, 和 B 中的number 字段关联,表B 中有text 字段, 显示城市名称

sql:

                  select           t.......   省略  

                  from A t
                  left join B ta on
                     case
                         when t.区is not null then t.int_lan_code
                         when t.市 not null then t.int_city_code
                         when t.省 is not null then t.int_org_code   
                       end  = ta.text

                    where t.cust_agrmt_code is not null

原创粉丝点击