这是我的表ID      number      related
abc001    2           
abc002    5           abc001
abc003    10          
abc004    99          abc002,abc003......我要实现这样的算法:对于abc002它的totalnumber=abc001.number=2
对于abc004它的totalnumber=abc002+abc003=10+99=109
对于abc001,abc003它们的totalnumber=0用的是access+vc6,我用vc要如何写啊?

解决方案 »

  1.   

    这是谁设计的表?设计上就有重大错误,能改表设计的话还是改一下吧!用两个表
    tb1
    ID      number      
    abc001    2           
    abc002    5           
    abc003    10          
    abc004    99          tb2ID        related
    abc001    
    abc002    abc001
    abc003    
    abc004    abc002
    abc004    abc003查询语句:
    select tb2.ID, isnull(sum(tb1.number),0) totalnumber from tb2 left join tb1 on  tb2.related = tb1.ID group by tb2.ID
    输出结果:
    ID         totalnumber 
    ---------- ----------- 
    abc001     0
    abc002     2
    abc003     0
    abc004     15备注:你写的“对于abc004它的totalnumber=abc002+abc003=10+99=109”,好象abc002+abc003应该等于15吧!
      

  2.   

    不怪楼上说看不明白。我也看不懂ID      number      related
    abc001    2           
    abc002    5           abc001
    abc003    10          
    abc004    99          abc002,abc003对于abc002它的totalnumber=abc001.number=2
    对于abc004它的totalnumber=abc002+abc003=10+99=109
    (为什么是10+99 =109?,在我看来应该是totalnumber=abc002+abc003=10+5=15)
    对于abc001,abc003它们的totalnumber=0
    下边的那句话就更不懂了