日期:2014-05-19  浏览次数:20531 次

如何生成树.
有两个表
单位表:
单位ID     单位名称     ParentID
1                 AAA                   0
2                 BBB                   1
3                 CCC                   1
4                 DDD                   1
5                 EEE                   2
...             ...                   ...

与用户表
用户ID         用户名           用户单位ID
1                     XXX                 3
2                     YYY                 4
3                     ZZZ                 5
4                     MMM                 3
...                 ...                 ...

希望能生成树如下:
AAA
|-----BBB
              |------EEE
|                           |----ZZZ
|-----CCC
              |---XXX
              |---MMM
|-----DDD
              |---YYY

即将用户根据用户的单位ID添加到单位树中,形成用户树.


------解决方案--------------------
declare @ta table(单位ID int, 单位名称 varchar(5), ParentID int)
insert @ta select 1, 'AAA ', 0
insert @ta select 2, 'BBB ', 1
insert @ta select 3, 'CCC ', 1
insert @ta select 4, 'DDD ', 1
insert @ta select 5, 'EEE ', 2

select space(parentid*5)+单位名称 from @ta

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

----------------------------------------------------------------------------------------------------------------
AAA
BBB
CCC
DDD
EEE

(5 行受影响)