就是要把101 10101 10102的value和kmdm查出来,101的value=10101+10102就是这个东西102=10201+10202

解决方案 »

  1.   

    对不起,是我没有说清楚,101 10101 10102 102 10201 10202的value是需要我算出来的那种,二级科目也就是10101 10102 10201 10202是可以很好的解决的,关键就是那个一级代码的value不好算,因为那有一个继承的问题101的和等于10101+10102,如果有三级代码的话也是类似这么做要把相应的下一级代码加起来等于本级的代码的value,101有可能在数据库中显示的是0但在程序端显示的时候是需要二级代码加到101的value上,也就是说按照上面的贴子,101的value是120而不是0,只有在查详细的时候才显示在数据库中实际的数据.
        另外大家都说要用存储过程来解决,由于小弟刚来不久,对存储过程十分陌生,希望大家说的详细一些,最好有一些源码,小弟不是贪婪 懒惰,是因为小弟实在不明白存储过程呀.现在这谢谢各位了!
      

  2.   

    select substr(kmdm,0,3),sum(value) from hz group by substr(kmdm,0,3)
    可以返回一级科目的value。
      

  3.   

    楼上的前提只有最下级的value才有值,非最下级的value都是零才可以吧。
    非最下级的value都是零,要他有什么用啊,不董,请教~
      

  4.   

    mafirst(mafirst)兄,如果按照你的sql去写就会出现同一类的kmdm没有相加,而分别显示的问题,因为是按照kmdm排序的吗,类似这样的sql我已经写过多次了,拜托在帮忙想想办法!
      

  5.   

    一个SQL语句就可以搞定了.select substr(kmdm,0,3) "tmd",sum(value) "sub" from cust_info where length(kmdm)=11 group by substr(custid,0,3);
      

  6.   

    select substr(kmdm,0,3) "tmd",sum(value) "sub" from YOURTABLE where length(kmdm)=11 group by substr(kmdm,0,3);
      

  7.   

    NetSniffer(扑克):这么做的确可以取出总和,但这取出的值是全部kmdm长度等于11的,没有按照代码的科目级次相加,也就是把所有符合条件的相加了,我那kmdm是有规律的,只有符合一个类型的才可以相加的呀