oracle left join case when then

本文介绍了一种SQL查询方法,用于从包含省市区编码的表A中选择数据,并通过左连接到另一个包含城市名称的表B来获取具体的城市名称。当区编码存在时优先显示区名,其次为市名,最后为省名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中遇到这样的情况,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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值