如果象你所做的基本描述,你可以考虑在这个数据库中建立两个分别与你所说的两种表格T1(车间代码,班组代码,....具体资料),T2(车间代码,班组代码,....具体资料),另外还可建立两个表分别对应车间与班组信息,比如T3(车间代码,车间名称,...车间具体资料)、T4(班组代码,班组名称,...班组具体资料)。这样一来,无论你是否需要对车间或班组的数进行增加多少,你都可以在表T1和T2中可以清楚地了解到一条记录所描述的是哪一个车间哪一个班组的资料。当然,我所说的只是泛泛,具体操作还要看你表关系是一对多还是一对一的...这会直接影响表结构的设计。

解决方案 »

  1.   

    谢谢大虾指点,我的大概想法也是这样,每个班组需要记录的两种表格肯定是应该单独建表的,也就是T1和T2,在T1,T2中肯定又应该有两个字段,一个字段(CJ)表示本记录所属的车间,另一个字段(BZ)表示本记录所属的班组。
    这样在程序中就可以用CJ和BZ代号检索出某车间某班组的一种表格。不过还有一些细节还没想清楚,我还得继续研究一下。
      

  2.   

    树形处理:单位表
    id pid 名称   性质 ...
    1  0   单位   单位
    2  1   车间1  车间
    3  1   车间2  车间
    4  2   组1    班组
    5  2   组2    班组数据表
    id  单位id  其他...
    1   1       内容
    2   5       内容
      

  3.   

    上面是表结构,树形处理的部分参考我的贴子
    树形数据处理http://expert.csdn.net/Expert/topic/2285/2285830.xml?temp=.7490656
      

  4.   

    看看這個怎么樣:
    第一表結構: 
    ID, 單位, 每個車間, 每個班組...都要編一個獨立的號碼
    ID_LEVEL, 分單位,車間,班組...等級
    SUBID1, 下屬的第一個獨立號碼
    SUBID2, 下屬的第二個獨立號碼
    HEAD_ID, 上級部門的獨立號碼
    ID_1_2, 分1或2, 即是上級的第一個還是第二個.
    此表中可以輸入基本結構圖. 例如
    ID    ID_LEVEL 名稱      SUBID1   SUBID2   HEAD_ID   ID_1_2
    001   單位     單位名稱  A01      A02      
    A01   車間     車間名稱  B01      B02      001        1
    A02   車間     車間名稱  C01      C02      001        2
    B01   班組     班組名稱                    A01        1
    B02   班組     班組名稱                    A01        2
    C01   班組     班組名稱                    B01        1
    ...
    此表可以隨意加上多層級別第二表:
    ID, DESC
    此表可以輸入各ID的活動內容此表的要求: 單位, 各車間, 各班組都必須使用唯一的統一編號. 
      

  5.   

    在SQL SERVER 2000中建表的脚本:CREATE TABLE [dbo].[tbTree] (       [ID] [int] IDENTITY (1, 1) NOT NULL ,       [Context] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,       [ParentID] [int] NULL ,       [depth] [int] NULL ) ON [PRIMARY] 在表中添加如下记录:insert tbtree (ID,Context,ParentID,depth)  values ( 1,'中国',0,0)insert tbtree (ID,Context,ParentID,depth)  values ( 2,'北京',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 3,'天津',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 4,'河北省',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 5,'广东省',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 6,'广州',5,2)insert tbtree (ID,Context,ParentID,depth)  values ( 7,'四川省',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 8,'成都',7,2)insert tbtree (ID,Context,ParentID,depth)  values ( 9,'深圳',5,2)insert tbtree (ID,Context,ParentID,depth)  values ( 10,'石家庄',4,2)insert tbtree (ID,Context,ParentID,depth)  values ( 11,'辽宁省',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 12,'大连',11,2)insert tbtree (ID,Context,ParentID,depth)  values ( 13,'上海',1,1)insert tbtree (ID,Context,ParentID,depth)  values ( 14,'天河软件园',6,3)insert tbtree (ID,Context,ParentID,depth)  values ( 15,'汕头',5,2)
    建立存储过程:CREATE PROCEDURE  spGetTree (       @ID int)asset nocount ondeclare @tmp table (Id int,ConText varchar(50),ParentID int,depth int)insert @tmp select * from tbtree where ID=@IDwhile exists(select 1 from tbtree a,@tmp b where a.ParentID=b.ID and a.ID not in (select ID from @tmp))  insert @tmp select a.* from  tbtree a,@tmp b where a.ParentID=b.ID and a.ID not in (select ID from @tmp)select * from @tmpset nocount offGO