当前位置: 代码迷 >> Sql Server >> 处理树型数据 马上结
  详细解决方案

处理树型数据 马上结

热度:52   发布时间:2016-04-27 17:38:02.0
处理树型数据 在线等 马上结
表   tree

tid           tname           parentid
1               中国                   0
2               美国                   0
3               河北                   1
4               北京                   1
5               加利福尼亚       2
6               海淀区               4
7               西城区               4
8               中关村               6
9               德外大街           7
………………………………

我想写个sql   或者   存储过程     传个   id进去   得到该id下所有的节点
例如  
传     0   得到全部

传     1   得到
1               中国                   0
3               河北                   1
4               北京                   1
6               海淀区               4
7               西城区               4
8               中关村               6
9               德外大街           7

传     2   得到

2               美国                   0
5               加利福尼亚       2

传       4   得到

4               北京                   1
6               海淀区               4
7               西城区               4
8               中关村               6
9               德外大街           7

…………………………

------解决方案--------------------
--建立測試環境
Create Table tree
(tid Int,
tname Nvarchar(20),
parentid Int)
Insert tree Select 1, N '中国 ', 0
Union All Select 2, N '美国 ', 0
Union All Select 3, N '河北 ', 1
Union All Select 4, N '北京 ', 1
Union All Select 5, N '加利福尼亚 ', 2
Union All Select 6, N '海淀区 ', 4
Union All Select 7, N '西城区 ', 4
Union All Select 8, N '中关村 ', 6
Union All Select 9, N '德外大街 ', 7
GO
--建立函數
Create Function GetChildren(@tid Int)
  相关解决方案