请教如何多个sql查询并在一个sql查询中。 ( 积分: 50 )

  • 主题发起人 主题发起人 cfeeling
  • 开始时间 开始时间
C

cfeeling

Unregistered / Unconfirmed
GUEST, unregistred user!
例如sql&nbsp;server&nbsp;中表a<br><br>编码&nbsp;&nbsp;&nbsp;&nbsp;重量<br>0001&nbsp;&nbsp;&nbsp;&nbsp;15.00<br>0002&nbsp;&nbsp;&nbsp;&nbsp;25.00<br>0001&nbsp;&nbsp;&nbsp;&nbsp;70.00<br>0003&nbsp;&nbsp;&nbsp;&nbsp;22.00<br>0004&nbsp;&nbsp;&nbsp;&nbsp;70.00<br><br>form中有label1,label2,label3,分别为查询0001,0002,0003的总重量后的值<br>原来查询需要执行3个adoquery<br>adoquery.sql.add('select&nbsp;sum(重量)&nbsp;as&nbsp;aaa&nbsp;from&nbsp;a&nbsp;where&nbsp;编码=0001')<br>label1.caption=adoquery.fieldbyname('aaa').asstring;<br>adoquery.sql.add('select&nbsp;sum(重量)&nbsp;as&nbsp;bbb&nbsp;from&nbsp;a&nbsp;where&nbsp;编码=0002')<br>label1.caption=adoquery.fieldbyname('bbb').asstring;<br>adoquery.sql.add('select&nbsp;sum(重量)&nbsp;as&nbsp;ccc&nbsp;from&nbsp;a&nbsp;where&nbsp;编码=0003')<br>label1.caption=adoquery.fieldbyname('ccc').asstring;<br><br>请教怎么写才能让这多个sql查询并在一个sql查询中且分别赋值到各个label中?<br>且并在一起是不是查询速度会快很多?
 
adoquery.sql.add('select&nbsp;'+<br>&nbsp;&nbsp;'&nbsp;sum(case&nbsp;编码&nbsp;when&nbsp;0001&nbsp;then&nbsp;重量&nbsp;else&nbsp;0&nbsp;end)&nbsp;as&nbsp;aaa,'&nbsp;+&nbsp;<br>&nbsp;&nbsp;'&nbsp;sum(case&nbsp;编码&nbsp;when&nbsp;0002&nbsp;then&nbsp;重量&nbsp;else&nbsp;0&nbsp;end)&nbsp;as&nbsp;bbb,'&nbsp;+<br>&nbsp;&nbsp;'&nbsp;sum(case&nbsp;编码&nbsp;when&nbsp;0003&nbsp;then&nbsp;重量&nbsp;else&nbsp;0&nbsp;end)&nbsp;as&nbsp;ccc&nbsp;from&nbsp;a')<br>......<br>label1.caption=adoquery.fieldbyname('aaa').asstring;<br>label2.caption=adoquery.fieldbyname('bbb').asstring;<br>label3.caption=adoquery.fieldbyname('ccc').asstring;
 
那如果<br>adoquery.sql.add('select&nbsp;sum(重量)&nbsp;as&nbsp;aaa&nbsp;from&nbsp;a&nbsp;where&nbsp;编码&nbsp;in&nbsp;(0001,0002)')<br>该怎么写?
 
后退
顶部