我的A表的结构是这样的,
id  自动编号
name 名称
info  信息
directory 是否为目录
ind  标识
parentind  父目录的INDb表
id 自动编号
parentid  父目录的ID
name  名称
info  信息
directory  是否为目录我现在要把A表中的数据插入到B表中,
在新表中仍然保持A表中的对应关系A中数据
id  name            info     directory   ind   parentind
1   changzhou       cz         y          4       3
2   jiansu          js         y          3      2
3   world            w         y          1      -1
4   china            c         y          2       1
5   liyang         ly          n          5       4
6   shanghai        sh         y          6      2PARENTIND为-1代表他是根节点插到表B中后的数据应为
id   parentid name     info      directory
100   0        world    w           y
101   100     china     c           y   
102   101     shanghai  sh          y 
103   101     jiansu    js          y
104   103     changzhou  cz         y
105   104     liyang     ly         n
PARERTID为0代表为根节点

解决方案 »

  1.   

    用select * from A order by parentid 后将这个取出来的表再依次插入就是你所需要的顺序了,但需要修改parentid的值,这个自己写一个算法是很好实现的
      

  2.   

    A树
     world
      |
      --- china 
       |
       |-- jianshu
       | |
       | |--changzhou
       |   |
       |   |---liyang
       |---shanghai
        
    B树---------adf
    |
    |
    |
    |----world
      |
      --- china 
       |
       |-- jianshu
       | |
       | |--changzhou
       |   |
       |   |---liyang
       |---shanghai
      

  3.   

    将A和B表中的非关键字段去掉,并将A表按照ParentInd升序排序(可能同时要Ind降序排序)后两表简化如下:
    A
    ID  ParentInd
    3   -1
    4   1
    6   2
    2   2
    1   3
    5   4
    B
    ID   ParentID 
    100  0       
    101  100     
    102  101     
    103  101     
    104  103     
    105  104     
    可以看到,这个时候只要A表ParentInd的升降顺序和B表的ParentID的升降顺序一致,所以这个时候要做的操作就是从A表按顺序取记录,然后
    根据ParentInd的值(ID可以不用考虑)来产生B表ParentID的值(ID值和A表一样也是按顺序产生),就可以产生B表!
      

  4.   

    两个表ID的值都是ID都是自增长的,所以根本不用考虑!
      

  5.   

    SHIT,小小你真是个了色,还无限级菜单,叫的文绉绉的,故弄玄虚!
      

  6.   

    这样
    插的时候
    A.parentind  = -1 的字段 改成 B.parentid = 0, b.id保存先(例如 Root)
    A.parentind <> -1 的字段 改成 B.parentid = Root+ A.parentind其余不理
      

  7.   

    楼主也是个笨蛋,没有这么复杂啊!直接关系就是A.ParentInd和B.ParentID之间的转换关系,真对这个转换关系写就可以了,其他字段要么自动产生,要么照办!笨!
      

  8.   

    A.parentind <> -1 的字段 改成 B.parentid = Root+ A.parentind
    ???????????????
      

  9.   

    (2003-09-29 21:39:37)   FrameSniper
    不要理QXJ那大白痴了,我们两个说的原理一样,直接就是A.ParentInd和B.ParentID之间的转换关系,他不听,非要去听那白痴小小在那里故弄玄虚 
    (2003-09-29 21:41:54)   阿德
    哈哈 
    (2003-09-29 21:40:50)   FrameSniper
    QXJ这个猪头,我给他说很简单,他非要去听小小那白痴在那里胡说八道,还那么长的代码,什么狗屁无限级菜单,简直就是故弄玄虚 
    (2003-09-29 21:43:18)   阿德
    哈哈,小小就愿这样,交了个徒弟爱翔也是这样,哈哈 
    (2003-09-29 21:42:05)   FrameSniper
    这个垃圾就喜欢把简单问题复杂化
      

  10.   

    QXJ:A
    id  name            info     directory   ind   parentind
    4   china            c         y          2       1
    3   world            w         y          1      -1B
    id   parentid name     info      directory
    101   100     china     c           y  
    100   0        world    w           y Root=100
    B.parentid = Root+ A.parentind你看是不是这样?
      

  11.   

    NND,邮编错误,那我不是看不到书了,晕死了怎么办啊!争你个大头,本来就是你的方法错误,而且QXJ又是垃圾,爱轻信谣言,所以才不听我们的,不过他现在改正过来了,HOHO!
      

  12.   

    啥也别说了,快结帖吧,HKBARTON,AD,偶每个人33分,小小1分!HOHO!
      

  13.   

    哈哈,垃圾AD,只是因为我有求于百合MM他老公,所以才软一软,等偶拿到书,嘿嘿,小小可有好日子了,要活活被偶气死了!To 小小  偶不管什么无限还是有限级菜单,偶只知道那是个很简单的问题,没有必要搞那么复杂。另外,偶现在最关心的是你老大怎么把那个书顺利寄偶手里啊,偶只关心书,其他不关心!