where are you going to use the data? HTML pages in a browser or normal client programs? are the data dynamic? can you create temporary files locally on the client machine?If your environment allows you to retrieve the data bit by bit, you only need to retrieve the first few levels in the first run, then retrieve children nodes for a specific branch when a user tries to expand it
解决方案 »
- 如何把Mysql的数据库结构导成Word文档格式?请求高手
- 很有难度的问题`` 高分求解
- mysql数据库问题
- postgresql的linux下的odbc驱动谁有?
- rabc,权限管理--数据库设计
- 数据库里的数据突然全部不见了,怎么恢复呀??(要多少都给)
- Mysql 数据库的表坏了,复修不到,该怎么办?
- 请问MySQL与SQLSERVE2000主要有哪些区别啊?
- 如何将图片存入到mysql数据库中?
- MySQL第一次安装碰到的问题
- 想做一个windows下管理apache,php,mysql的东东,给点意见?
- 我是个新手,请教我如何安装mysql??怎样建立mysql的数据库?需要下载些甚么?98/NT 急急急!
我的想法是:
先建立临时(temp)表,这个表,主要是描述各个节点的详细信息。
然后根据建立的临时表,按某种遍历生成一颗树。
最后,至于查询,可找到该点后,将其下连续的行且层次数大于该点的行的相关信息一并列出。
不知我的想法是否有问题,请各位大侠指教!
如果可以,怎样实现这个想法呢?这涉及的算法比较多,各位大侠可有什么好方法?
AS
declare @I int
Create Table #RST(Role_ID varchar(20))
Create Table #Temp(RoleID varchar(20))
insert #RST(Role_ID) select job.FatherID from EECJobRole job,EECUserRole US where job.RoleID=US.RoleID and US.User_No=@input
insert #Temp(RoleID) select RoleID from EECUserRole where User_No=@input
select @I=1
While (@I<>0)
BEGIN
declare @role1 varchar(20)
declare Mycursor cursor for select Role_ID from #RST where Role_ID not in (select RoleID from #Temp)
open Mycursor
FETCH NEXT FROM mycursor INTO @role1
WHILE @@FETCH_STATUS = 0
BEGIN
insert #RST(Role_ID) select FatherID from EECJobRole where RoleID=@role1 and FatherID<>@role1 and FatherID not in (select Role_ID from #RST )
insert #Temp(RoleID) select @role1
FETCH NEXT FROM mycursor INTO @role1
END
CLOSE Mycursor
DEALLOCATE Mycursor
select @I=Count(*) from EECJobRole where RoleID in (select Role_ID from #RST where Role_ID not in (select RoleID from #Temp)) and RoleID <>FatherID END
select * from #RST t,EECJobRole job where T.Role_ID=job.RoleID
GO
....................................................
我现在很烦的是树表的生成过程和效率的问题。