sql.Add('insert into '+edit1.text+'(item ,num) select "id2", sum(id2) from test where id2=1');
sql.Add('insert into '+edit1.text+'(item ,num) select "id3", sum(id3) from test where id3=1');
sql.Add('insert into '+edit1.text+'(item ,num) select "id4", sum(id4) from test where id4=1');
sql.Add('insert into '+edit1.text+'(item ,num) select "id4", sum(id4) from test where id4=1');以上语句是我想实现的结果:把test表中id1至id4列的列名和求和值通过select语句insert到一个表中,但我写的方法比较笨,而且列数多了就不行了。
应该是可以用for语句,通过变量i来实现的。但有个问题是如何用select语句,是否能不用列名,只用第i列来作查询,并且如何能把列名也查询得到,
以上的语句列名都是我自己写的,方法都比较笨。本人新手,请各位大侠指教,不胜感激!
sql.Add('insert into '+edit1.text+'(item ,num) select "id3", sum(id3) from test where id3=1');
sql.Add('insert into '+edit1.text+'(item ,num) select "id4", sum(id4) from test where id4=1');
sql.Add('insert into '+edit1.text+'(item ,num) select "id4", sum(id4) from test where id4=1');以上语句是我想实现的结果:把test表中id1至id4列的列名和求和值通过select语句insert到一个表中,但我写的方法比较笨,而且列数多了就不行了。
应该是可以用for语句,通过变量i来实现的。但有个问题是如何用select语句,是否能不用列名,只用第i列来作查询,并且如何能把列名也查询得到,
以上的语句列名都是我自己写的,方法都比较笨。本人新手,请各位大侠指教,不胜感激!
解决方案 »
- delphi创建的VPN连接,如何不在网上邻居里显示出来
- 类方法集成的一个问题,override是否可有可无
- 用存储过程进行多个表的插入问题----
- 请问怎么样才能用dede把用delphi编的软件反编译成pascal的语句???????
- 我大4学生,学校这学期开了DELPHI6,和其他工具比,它的优势在哪呀,好找工作吗
- 哪位大虾帮帮我呀?这问题太难了!!!
- ★★如果设Edit的MaxLength为2,在98下只能输入一个汉字,而XP下则可以输入两个汉字,为什么?
- 还是英语题
- 招聘DELPHI程序员(广州)
- 怎样避免在窗体的CreatForm执行重复语句
- 请各位兄弟姐妹们路过的看下
- 用Delphi如何取到MySql 数据库的元数据,MySql版本是 3.23.39, 使用MySql ODBC 3.5 + ADO , 貌似发现ADO的一个bug!!!
//选出test表的所有列名
query.sql.add('select name from syscolumns where id in (select id from sysobjects where name =N''test'')');
query.open;
if Not Query.Eof then begin
strSQL := 'insert into ' + edit1.text + '(item,num)';
strFieldName := query.FieldByName('name').AsString;
SQL := SQL + #13#10 ' select ''' + strFieldName + ''',sum(' + strFieldName + ') from test where ' + strFieldName + '=1';
Query.Next;
while Not Query.eof do begin
SQL := SQL + #13#10 'union all select ''' + strFieldName + ''',sum(' + strFieldName + ') from test where ' + strFieldName + '=1';
Query.Next;
end;
Query.SQL.Text := SQL
...
end;