--设置市级地名的父ID
UPDATE [dbo].[region]
SET parentid=b.id
FROM [region],[region] b
WHERE LEFT([region].code,2)=LEFT(b.code,2)
AND RIGHT([region].code,4)<>'0000' AND RIGHT([region].code,2)='00'
AND RIGHT(b.code,4)='0000';
--设置县级地名的父ID
UPDATE [dbo].[region]
SET parentid=b.id
FROM [region],[region] b
WHERE LEFT([region].code,4)=LEFT(b.code,4)
AND RIGHT([region].code,2)!='00'
AND RIGHT(b.code,2)='00';
有些记录不符合使用习惯,修改后删掉
UPDATE [dbo].[region] SET parentId=c.Id
FROM [dbo].[region],[dbo].[region] b,[dbo].[region] c
WHERE [dbo].[region].parentId=b.id AND b.parentId=c.id
AND b.name IN('市辖区','县') ;
DELETE FROM [dbo].[region] WHERE name IN('市辖区','县') ;