本帖最后由 yunfan145 于 2010-06-27 10:07:02 编辑

解决方案 »

  1.   

    看得头晕,然后也没看明白。 建议你用些例子来讲解。 (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  2.   

    给出你的show create table.
    给出你的测试记录的INSERT 语句。
    给出你的条件和需要得到的结果。
      

  3.   

    不好意思,两位,是有点乱
    我用的数据库是test,mysql的版本是5主表表结构:
    create table doc 
    (
        id                   char(19)                       not null,
        title                varchar(200),
        fileno               varchar(40),
        vers                 varchar(10),  
        constraint PK_DOC primary key (id)
    );
    子表表结构:
    create table gldoc 
    (
        id                   char(19)                       not null,
        docid                char(19),
        fileno               varchar(40),
        vers                 varchar(10),
        constraint PK_GLDOC primary key (id)
    );alter table gldoc
       add constraint FK_GLDOC_REFERENCE_DOC foreign key (docid)
          references doc (id)
          on update restrict
          on delete restrict;子表通过docid与主表相关联。两个表中都有fileno(文件号)和vers(版本号)情况1:
    假如现在主表中有两条记录
    A记录:insert into doc values('0001','aaa','PHP','01')
    B记录:insert into doc values('0002','bbb','JAVA','01')操作:
    录入子表:
    先入主表:
    C记录:insert into doc values('0003','ccc','.NET','01')
    再录入子表:
    insert into gldoc values('z0001','0003','JAVA','01')
    录入子表后系统应该自动在gldoc表中增加一条记录 insert into gldoc values('z0002','0002','.NET','01')情况2:
    假如现在主表中有两条记录
    A记录:insert into doc values('0001','aaa','PHP','01')
    B记录:insert into doc values('0002','bbb','JAVA','01')
    B记录子表:insert into gldoc values('z0001','0002','.NET','01')操作:
    增加主表:
    C记录:insert into doc values('0003','ccc','.NET','01')
    录入主表后系统应该自动在gldoc表中增加一条记录 insert into gldoc values('z0002','0003','JAVA','01')情况3:
    即:
    主表-子表中记录  
    A-B,C,D  
    B-E  
    F-E  转为:
    主表-子表中记录  
    A-BCDEF  
    B-ACDEF  
    F-ABCDE 
    表中的id都是通过程序生成出来的。
    本人表达能力实在有限,请各位大侠谅解,谢谢
      

  4.   

    对应关系为两表中的fileno(文件号)和vers(版本号)