前些天的一个老问题散了100分没有解决,现在想这样写不知是否可行,select的聚合函数那部分变量的代码也不知道该怎么些请大家帮忙看下,谢谢!
http://topic.csdn.net/u/20080701/08/f4568183-78c6-47df-8b57-b9c9582b7cc8.htmlprocedure TForm5.Button2Click(Sender: TObject);
var i:integer;
ss: string;
tt: integer;
begin
with DM3.table13 do //table13-dbgj
begin
while EOF=false do
begin
for i:=0 to dm3.Table13.FieldCount-1 do
begin
ss :=dm3.Table13.FieldByName('参评人姓名').Value;
dm3.Query19.SQL.Clear;
dm3.Query19.SQL.Add('select sum(评审评分分数) as ?? from dbpf where 参评姓名=''ss''');
dm3.Query19.Open;
end;
dm3.Query20.SQL.Clear;
dm3.Query20.SQL.Add('update dbjg set 评审分数总分=''+tt+'' where 参评人姓名=''ss''');
dm3.Query20.ExecSQL;
next;
end;
end;
end;
http://topic.csdn.net/u/20080701/08/f4568183-78c6-47df-8b57-b9c9582b7cc8.htmlprocedure TForm5.Button2Click(Sender: TObject);
var i:integer;
ss: string;
tt: integer;
begin
with DM3.table13 do //table13-dbgj
begin
while EOF=false do
begin
for i:=0 to dm3.Table13.FieldCount-1 do
begin
ss :=dm3.Table13.FieldByName('参评人姓名').Value;
dm3.Query19.SQL.Clear;
dm3.Query19.SQL.Add('select sum(评审评分分数) as ?? from dbpf where 参评姓名=''ss''');
dm3.Query19.Open;
end;
dm3.Query20.SQL.Clear;
dm3.Query20.SQL.Add('update dbjg set 评审分数总分=''+tt+'' where 参评人姓名=''ss''');
dm3.Query20.ExecSQL;
next;
end;
end;
end;
参评人 一项目总分 一项目平均分 二项目总分
参评人A1
参评人A2
参评人A3
(表A分数统计表)
参评人 评委人 一项目 二项目
A1 B1 90 95
A1 B2 85 90
A2 B1 86 86
A3 B1 68 74
A1 B3 88 92
… … … …
(表B打分集表)
表A是记分表,表B是打分表,现在想把表B中相同参评人(如:A1)不同评委的值进行汇总,导入到表A中请高手指点,谢谢!
用DELPHI7+ADO+ACCESS
group by 参评人,评委人select 参评人 ,评委人, sum(一项目),sum(二项目) from B
group by 参评人,评委人
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.text := ' insert into table1 '+
' select name,sum(one) as onesum,avg(one) as oneavg,sum(two) as twosum'+
' from table2'+
' group by name';
ExecSql;
end;
end;如果你的表B中保持是最全的数据,更新表A时,可以把A表先清空一下,再insert,不需要用循环。