有A表和B表。要算A表里A1总和值。B表有B1总和值。 ... 
SQL.Add('select sum(a.a1) as aa,sum(b.b1) as bb from a,b'); 
... 
得到a的总和和b的总和值为何各和值不对呢? 如何相减?

解决方案 »

  1.   

    本来是'select sum(a.a1) as aa from a' 它的总值是对。为何加上B就不对了。连单独的A值也不对了
      

  2.   

    例:表A
    ------------
    A1
    ----
    1.0
    2.0
    10.0
    --------------表B
    ----
    1.0
    2.0
    5.0
    ------------------SQL语句:
    select sum(acount) as 表A总数量,
           sum(bcount) as 表B总数量,
           sum(acount) - sum(bcount) as 两表差额
      from (select sum(a1) as acount, 0 as bcount
              from a
            union all
            select 0 as acount, sum(b1) as bcount from b) m
    ------------------------------------------------------------结果:
    表A总数量     表B总数量             两表差额
    13.0        8.0          5.0
      

  3.   

    create table #1(id int)
    create table #2(id int)
    insert into #1 values(10)
    insert into #2 values(8)select a.id- b.id as diff from #1 a ,#2 b
      

  4.   


    select sum(a.a1) as aa ,
    (sum(b.b1) as bb from b) 
    from a
      

  5.   

    上面搞错了一点点……select sum(a.a1) as aa ,
    (select sum(b.b1)  from b) as bb
    from a
      

  6.   

    如果要相减select sum(a.a1) - (select sum(b.b1)  from b) as 相减结果 from a