select yuer = sum(jie) - sum(dai) from table

解决方案 »

  1.   

    好象不行的,Sum()是合计函数,
    例如:SELECT (SUM(借方)-SUM(贷方))AS BALANCE FORM MYTABLE
    会出错的!我试了好象不能通过的。何况如果用
    SELECT SUM(借方)AS XXX FROM TABLE
    返回的只有1条记录,根本无法实现下列的情况。
    借方    贷方    余额
    ----------------------------
    80              80
            34      46
    12              58
    13              71
            21      50每一条记录都要有余额的。  
     
    而且余额是累积的!某些记录的借方或贷方为NULL啊!   
      

  2.   

    那就用计算字段吧,不过VC我没用过,只用过BCB OR DELPHI:
    Variant v1 = table1->FieldValues["jie"];
    //Count是全局变量
    if (table1->Bof)
      Count = 0;
    Variant v2 = table1->FieldValues["dai"];
    int jie ,dai;
    if (v1.IsNull())
     jie = 0; else jie = (int)v1;
    if (v2.IsNull())
     dai = 0; else dai = (int)v2;
    Count += jie - dai;
    table1->FieldValues["yuer"] = Count;
    ...