各位大师,请教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),如何实现?
表结构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),如何实现?
select a, sum(b) as b from table1 group by a;
--得到
a, b
-------------------------
1, 7
2, 15
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’中。