sql2005 邮编转换区域问题请教....

看尽繁华亦微笑 2010-01-11 12:04:47
表tb:


姓名 邮编 区域

何光 NULL NULL
刘月 201600 NULL
褚晓 200135 浦东新区
任广 200040 NULL
刘静 200020 NULL
都锡 NULL NULL
周建 201112 闵行

结果:

姓名 邮编 区域

何光 NULL NULL
刘月 201600 松江
褚晓 200135 浦东新区
任广 200040 静安
刘静 200020 卢湾
都锡 NULL NULL
周建 201112 闵行

怎么样写sql语句能把邮编转换成区域添加到区域中呢·
这只是一部分内容 还有其他区的邮编转换。。谢谢大家指点!

卢湾。邮政编码200020。
徐汇。邮政编码200030。
长宁。邮政编码200050。
静安。邮政编码200040。
普陀。邮政编码200333。
闸北。邮政编码200070。
虹口。邮政编码200080。
杨浦。邮政编码200082。
闵行。邮政编码201100。
宝山。邮政编码201900。
嘉定。邮政编码201800。
浦东新。邮政编码200135。
金山。邮政编码200540。
松江。邮政编码201600。
青浦。邮政编码201700。
南汇。邮政编码201300。
奉贤。邮政编码201400。
崇明。邮政编码202150。
黄浦。邮政编码200001
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nianran520 2010-01-11
  • 打赏
  • 举报
回复
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
create table [tb]([姓名] varchar(4),[邮编] int,[区域] varchar(8))
insert [tb]
select '何光',null,null union all
select '刘月',201600,null union all
select '褚晓',200135,'浦东新区' union all
select '任广',200040,null union all
select '刘静',200020,null union all
select '都锡',null,null union all
select '周建',201112,'闵行'
--> 测试数据:[postcode]
if object_id('[postcode]') is not null drop table [postcode]
create table [postcode]([区域] varchar(6),[邮编] int)
insert [postcode]
select '卢湾',200020 union all
select '徐汇',200030 union all
select '长宁',200050 union all
select '静安',200040 union all
select '普陀',200333 union all
select '闸北',200070 union all
select '虹口',200080 union all
select '杨浦',200082 union all
select '闵行',201100 union all
select '宝山',201900 union all
select '嘉定',201800 union all
select '浦东新',200135 union all
select '金山',200540 union all
select '松江',201600 union all
select '青浦',201700 union all
select '南汇',201300 union all
select '奉贤',201400 union all
select '崇明',202150 union all
select '黄浦',200001

update t
set [区域]=r.[区域]
from [tb] t,[postcode] r
where t.[邮编]=r.[邮编]

select * from [tb]
----------------------
何光 NULL NULL
刘月 201600 松江
褚晓 200135 浦东新
任广 200040 静安
刘静 200020 卢湾
都锡 NULL NULL
周建 201112 闵行

  • 打赏
  • 举报
回复
都在吃饭呀............
可怜的我饭还没来。。饿着。。。。
  • 打赏
  • 举报
回复
呵呵 ,终于得饭吃了 大家吃好没呀!·
先谢谢楼上的!~我去试试
黄_瓜 2010-01-11
  • 打赏
  • 举报
回复
update t set [区域]=r.[区域] from [tb] t,[postcode] r
where t.[邮编]=r.[邮编]
Mr_Nice 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nianran520 的回复:]
SQL code--> 测试数据:[tb]ifobject_id('[tb]')isnotnulldroptable[tb]createtable[tb]([姓名]varchar(4),[邮编]int,[区域]varchar(8))insert[tb]select'何光',null,nullunionallselect'刘月',201600,nullunionallselect'褚晓',20013?-
[/Quote]

如楼上,只要有邮编和地区的对照表。就可以做的!

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧