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

求助!表中父子字段显示
现有一企业列表t_ent_list(ent_id,ent_par_id,ent_name)
企业ID,该企业的上级ID,企业的名称.


现有数据如下:
ent_id             ent_par_id     ent_name

1                       0                       系统
2                       1                       测试
3                       1                       温州电信
4                       1                       增值业务部
5                       1                       定制类管理企业
6                       2                       test
7                       3                       测试子企业2

id为6的企业是id为2的子企业,
我现在要以所属父子关系的方式来列出查询结果,即:

ent_id             ent_par_id     ent_name

1                       0                       系统
2                       1                       测试
6                       2                       test
3                       1                       温州电信
7                       3                       测试子企业2
4                       1                       增值业务部
5                       1                       定制类管理企业


全部家档求高手帮忙,急急急!


------解决方案--------------------
DECLARE @t TABLE(ent_id varchar(10),ent_par_id varchar(10), ent_name nvarchar(100))
INSERT @t SELECT '1 ', '0 ',N '系统 '
UNION ALL SELECT '2 ', '1 ',N '测试 '
UNION ALL SELECT '3 ', '1 ',N '温州电信 '
UNION ALL SELECT '4 ', '1 ',N '增值业务部 '
UNION ALL SELECT '5 ', '1 ',N '定制类管理企业 '
UNION ALL SELECT '6 ', '2 ',N ' test '
UNION ALL SELECT '7 ', '3 ',N '测试子企业2 '

DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT ent_id,@Level,ent_id
FROM @t
WHERE ent_par_id =0
WHILE @@ROWCO