begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select distinct field_name from tcount');
query1.Open;
while not query1.Eof do
  begin
  query1.FieldByName('field_name').AsString:=str;
  query2.Close;
  query2.SQL.Clear;
  sql_str:='select sum(tcount) as count_name from tcount where field_name='+str;
  query2.SQL.Add(sql_str);
  query2.Open;
  query2.FieldByName('count_name').AsString:=count_name;
  query3.Close;
  query3.SQL.Clear;
  query3.SQL.Add('select distinct field_name from tcount');
  query3.Open;
  query1.Next;
  end;
end;