有表结构如下
a 表                                 b表
costid          costupid               costid        amount
1001               0                   10011001         1
10011001         1001                  10011002         1
10011002         1001                  100110031001     1
10011003         1001                  100110031002     1
100110031001     10011003
100110031002     10011003得出下面结果
costid          costupid       amount
1001               0             4     
10011001         1001            1     
10011002         1001            1     
10011003         1001            2     
100110031001     10011003        1
100110031002     10011003        1
求解 

解决方案 »

  1.   

    xiana 表 
    costid  costupid 
    1001    0 
    10011001  1001 
    10011002  1001 
    10011003  1001 
    100110031001  10011003
    100110031002  10011003b表
    costid        amount
    10011001       1
    10011002       1
    100110031001   1
    100110031002   1得出下面结果
    costid  costupid     amount  --该amount是子节点的个数
    1001  0  4   
    10011001  1001  1   
    10011002  1001  1   
    10011003  1001  2   
    100110031001  10011003  1
    100110031002  10011003  1
    求解 
    简单的格式化了一下
      

  2.   


    /*
    a 表 
    costid  costupid 
    1001    0 
    10011001  1001 
    10011002  1001 
    10011003  1001 
    100110031001          10011003
    100110031002          10011003b表
    costid        amount
    10011001     1
    10011002     1
    100110031001       1
    100110031002       1得出下面结果
    costid  costupid amount
    1001  0  4   
    10011001  1001  1   
    10011002  1001  1   
    10011003  1001  2   
    100110031001          10011003  1
    100110031002          10011003  1
    求解 
    */
      

  3.   

    谢谢你的格式化 amount 不是说子节点的个数 是一个值  
      

  4.   


    /*
    a 表                                 
    costid             costupid             
    1001                0                     
    10011001            1001                 
    10011002            1001                 
    10011003            1001                 
    100110031001        10011003
    100110031002        10011003b表
    costid             amount
    10011001            1
    10011002            1
    100110031001        1
    100110031002        1得出下面结果
    costid             costupid amount
    1001                0            4   
    10011001            1001         1   
    10011002            1001         1   
    10011003            1001         2   
    100110031001        10011003     1
    100110031002        10011003     1
    求解 
    */
      

  5.   

    sql可以递归么 能具体讲下么 我用sql能够查出所有的父节点 但是求和很难做到
      

  6.   

    1001下有3個直接costid(10011001,10011002,10011003),10011003下有2個直接costid(100110031001,100110031002),1001记录对应的amount是4还是5?
      

  7.   

    1001下有3個直接costid(10011001,10011002,10011003),10011003下有2個直接costid(100110031001,100110031002),1001记录对应的amount是4还是5?
      

  8.   

    是4啊 1001对应的amount是1001直接子节点的和