日期:2014-05-18  浏览次数:20523 次

50分求一条SQL语句
数据库结构如下:

表名:[AreaInfo]

ID ParentID Name TempParentID AreaCode
-------------------------
1 0 亚洲
2 1 中国
3 2 北京 110000

......

37 市辖区 110000 110100
38 县 110000 110200

......

简要描述:
这是一套包含洲/国/省/市/县/的无限级地区数据库,中国部分才用的是网上很常见的三表分类的全国地区名称数据库

语句要求:
获得每一行[TempParentID]字段对应的[AreaCode]行的[ID],将值写入[ParentID],处理结果如下:

ID ParentID Name TempParentID AreaCode
-------------------------
1 0 亚洲
2 1 中国
3 2 北京 110000

......

37 3 市辖区 110000 110100
38 3 县 110000 110200

......


------解决方案--------------------
SQL code
update a set a.ParentID=b.ID from AreaInfo a join AreaInfo b on a.TempParentID=b.AreaCode

------解决方案--------------------
mark
------解决方案--------------------
update AreaCode
set ParentID = b.id 
from AreaCode a, AreaCode b
where a.TempParentID = b.AreaCode