各位大师,请教ADOQuery1的SQL语句怎么写:
表结构Table1,有2列
a    b
1    1
1    2
1    1
1    1
1    2
2    3
2    4
2    2
2    1
2    5
另外还有一个表Table2,结构同Table1.
想得到Table2的内容为
a    b   c
1    7
2    15
就是说,表1中a列相同的记录在表2中只出现一次,表2的b列是表1中对应的相同a的b列的和(即7=1+2+1+1+2,15=3+4+2+1+5),如何实现?

解决方案 »

  1.   

    汇总语句:
    select a, sum(b) as b from table1 group by a;
    --得到
    a, b
    -------------------------
    1, 7
    2, 15
      

  2.   

    报错:OLE Automation内部错误。
      

  3.   

    还报错吗?select a, sum(b) as b1 into t2 from t1 group by a
      

  4.   

    报错:OLE Automation内部错误。
      

  5.   

       With ADOQuery1 do
        begin
        Close;
        SQL.Clear;
        SQL.Add(' update table1,table2 set table2.b = ');
        SQL.Add(' (select sum(b) from table1 group by a) ');
        SQL.Add(' where table1.a= table2.a');
        ExecSQL;
       end;
    这样写代码,报错:语法错误(操作符丢失)在查询表达式‘table1.a= table2.a’中。