如何设计一个企业部门信息表???
如何设计一个企业部门信息表,要求可以根据此表生成部门信息树,可以根据选中的某一部门用SQL语句查询到该部门及其所有下级部门或所有上级部门,并简要写出该SQL语句。
------解决方案----------------------生成测试数据 
 --PID上级ID 
 create table BOM(ID INT,PID INT,MSG VARCHAR(1000)) 
 insert into BOM select 1,0,NULL 
 insert into BOM select 2,1,NULL 
 insert into BOM select 3,1,NULL 
 insert into BOM select 4,2,NULL 
 insert into BOM select 5,3,NULL 
 insert into BOM select 6,5,NULL 
 insert into BOM select 7,6,NULL 
 go   
 --创建用户定义函数用于取每个父节点下子节点的采购配置信息 
 create function f_getChild(@ID VARCHAR(10)) 
 returns @t table(ID VARCHAR(10),PID VARCHAR(10),Level INT) 
 as 
 begin 
     declare @i int 
     set @i = 1 
     insert into @t select ID,PID,@i from BOM where PID = @ID       
     while @@rowcount <> 0 
     begin 
         set @i = @i + 1           
         insert into @t  
         select  
             a.ID,a.PID,@i  
         from  
             BOM a,@t b  
         where  
             a.PID=b.ID and b.Level = @i-1 
     end 
     return 
 end 
 go   
 --执行查询 
 select ID from dbo.f_getChild(3) 
 go   
 --输出结果 
 /* 
 ID 
 ---- 
 5 
 6 
 7 
 */   
 --删除测试数据 
 drop function f_getChild 
 drop table BOM