1.要求
行政区划编码更新,表A中含有的是旧的行政区划,关联区划表查询区划名称为空,现在需要把区划名称补全并且把旧编码更新为新编码。(例如陕西省的安塞县改成了安塞区且区划编码也改了,但是业务表中的编码存的还是旧代码)
2.表情况
1.业务A表 (别名a)
2.行政区划表(别名b)
3.旧代码新代码映射表(包含新名称)(别名c)
3.思路
第一步:
将a表与b表按行政区划代码联查,保留a的行政区划和b的区划名称(此时保留的是a的行政区划代码,但是由于区划表b存的是最新代码,所以映射后旧代码找不到对应的名称,所以为null)
第二步:
拿已经联查后的a表与c表按区划代码联查修正a中的旧代码已经补全对应的名称
关键sql:
(case when a.行政区划名称 isnull then c.行政区划名称 else a.行政区划名称 end) as xzqhmc,
(case when a.行政区划名称 isnull then c.行政区划 else a.行政区划 end) as xzqh