--測(cè)試數(shù)據(jù)
DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10))
INSERT @t SELECT '001',NULL ,'山東省'
UNION ALL SELECT '002','001','煙臺(tái)市'
UNION ALL SELECT '004','002','招遠(yuǎn)市'
UNION ALL SELECT '003','001','青島市'
UNION ALL SELECT '005',NULL ,'四會(huì)市'
UNION ALL SELECT '006','005','清遠(yuǎn)市'
UNION ALL SELECT '007','006','小分市'
--深度排序顯示處理
--生成每個(gè)節(jié)點(diǎn)的編碼累計(jì)(相同當(dāng)單編號(hào)法的編碼)
DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT ID,@Level,ID
FROM @t
WHERE PID IS NULL
WHILE @@ROWCOUNT>0
BEGIN
?SET @Level=@Level+1
?INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID
?FROM @t a,@t_Level b
?WHERE a.PID=b.ID
??AND
b.Level=@Level-1
END
--顯示結(jié)果
SELECT SPACE(b.Level*2)+'|--'+a.Name
FROM @t a,@t_Level b
WHERE a.ID=b.ID
ORDER BY b.Sort
/*--結(jié)果
|--山東省
? |--煙臺(tái)市
??? |--招遠(yuǎn)市
? |--青島市
|--四會(huì)市
? |--清遠(yuǎn)市
??? |--小分市
--*/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
