SqlServer 三級聯動、遞歸表


SqlServer 省市縣三級聯動

 

三張表遞歸合並成一張表sql如下:

insert into table2(area_name,area_parent_id)

select province,'0' from provinces

insert into table2(area_name,area_parent_id)

select city,c.id from cities a

inner  join provinces b on a.provinceid=b.provinceid

inner join table2 c on b.province=c.area_name

insert into table2(area_name,area_parent_id)

select a.area,c.id from areas a

inner join cities b on a.cityid=b.cityid

inner join table2 c on b.city=c.area_name and area_parent_id<>0

 

select * from table2

 

上面的后來在項目中發現有重復數據改了一下如下:

-- area_parent_id
insert into [table6](id,area_name,area_parent_id)--插入直轄市

--select provinceid,province from provinces 

--SELECT CONVERT(VARCHAR(10),ProvinceID) + CONVERT(VARCHAR(10),CITYID),City,ProvinceID FROM cities  --插入省市

SELECT CONVERT(VARCHAR(10),a.CityID) + CONVERT(VARCHAR(10),a.id),a.area,a.CityID  --插入縣區
FROM areas A INNER JOIN cities B ON A.CityID = B.CityID

把注釋去掉一個一個來執行最后結果就是想要的。

參考地址:http://bbs.csdn.net/topics/340224940

下面是三張表數據下載地址:

http://files.cnblogs.com/files/sunqiang/%E5%85%A8%E5%9B%BD%E7%9C%81%E5%B8%82%E5%8C%BA%E8%81%94%E5%8A%A8%E6%95%B0%E6%8D%AE%E5%BA%93sql%E6%A0%BC%E5%BC%8F%28MySQL%29.rar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM