CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

求助:如何将B表中的SUM字段的数值减去A表中的NUMBER字段的和,再添加到B表中的BALANCE字段中?

楼主guchx(大黄蜂)2003-09-03 13:57:45 在 Delphi / 数据库相关 提问

用了ADOQuery1连接A表,ADOQuery2连接B表。]  
  SQL语句该怎么写呢?  
  是否用ADOQuery1.SQL.add...?  
  先谢谢了! 问题点数:0、回复次数:10Top

1 楼Shiyl(云淡风清 卷舒自在)回复于 2003-09-03 14:16:30 得分 0

markTop

2 楼Sorder(要才没才,要貌没貌,你还愿意嫁给我吗)回复于 2003-09-03 14:29:02 得分 0

ADOQuery.SQL.Text:='update   B   set   balance=f.sum_value     (select   sum(b.sum-a.number)   as   sum_value   from   A   ,   B   )   f'  
  ADOQuery.ExecSQLTop

3 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2003-09-03 14:42:46 得分 0

insert   into   b(BALANCE)   values(select   (x.sum-y.(select   sum(NUMBER)   from   a   as   ziduan1))   from   A,B   where   A.id   =   B.id)Top

4 楼sirliner(山登绝顶)回复于 2003-09-03 14:58:38 得分 0

update   b   set   balance=[sum]-(select   sum(number)   from   a)Top

5 楼delphi_xizhousheng(西周生)回复于 2003-09-03 15:14:27 得分 0

用一个ADOQUERY就可以了    
  我想SQL应该都差不多的吧  
  update   b   set   balance=c.sumv   (select   sum(a.sum-b.number)   sumv   from   a,b)   cTop

6 楼treestar001(小鸟)回复于 2003-09-04 15:11:09 得分 0

用一个ADOQuery就OK了SQL:=update   b   set   balance=sum-(select   sum(Number)   form   a)Top

7 楼guchx(大黄蜂)回复于 2003-09-04 21:19:47 得分 0

谢谢诸位大侠,我试试这些方法,成的20分以上,不成的。。。呵呵,也有分。。。Top

8 楼guchx(大黄蜂)回复于 2003-09-09 10:59:01 得分 0

总出错!  
  用一个ADOQuery,连接ACCESS数据库  
  这部分代码为:  
    with   ADOQuery1   do    
    begin  
        SQL.Clear;  
        SQL.add('insert   into   b(BALANCE)   values(select   (x.sum-y.(select   sum(NUMBER)             from   a   as   ziduan1))   from   A,B   where   A.id   =   B.id)');  
   
                //则出现select   sum(Number)   from   a   语法不正确错误;  
                //若为SQL.add('update   b   set   balance=sum-(select   sum(Number)   from   a);  
                    //   会出现不是可更新的查询  
          Prepared:=true;  
          ExecSQL;  
      end;  
  郁闷!!  
  是ACCESS的问题还是别的?请再指点一二,谢谢!  
   
  Top

9 楼Shiyl(云淡风清 卷舒自在)回复于 2003-09-09 11:06:43 得分 0

with   ADOQuery1   do    
    begin  
        SQL.Clear;  
        SQL.add('insert   into   b(BALANCE)   values(select   (x.sum-y.(select   sum(NUMBER)   as    
                          number   from   a   )as   ziduan1)   from   A,B   where   A.id   =   B.id)');  
   
  Top

10 楼guchx(大黄蜂)回复于 2003-09-09 11:50:05 得分 0

Shiyl所提方案中的x,y是否指b,a?  
   
  with   ADOQuery1   do    
    begin  
        SQL.Clear;  
        SQL.add('insert   into   b(BALANCE)   values(select   (b.sum-a.(select   sum(NUMBER)   as    
                          number   from   a   )as   ziduan1)   from   A,B   where   A.id   =   B.id)');  
   
   
  试了,ODBC语法错误,在select(b.sum.....     B.id  
  Top

相关问题

  • sql语句, 从表a,表b取数据,关联字段a.hh,b.hh, 关联字段a.hh,b.hh, 取a.hh,b表c字段,select a.hh,sum(b.c) from a,b where a.hh=b.hh gr
  • A表中A字段=B表中A字段+B字段的和
  • crystal问题:数据源有n个字段,其中要sum一下a字段,条件是b字段的值为0,这个公式怎么写啊
  • 求sql语句A表1字段=B表1字段+B表2字段??
  • 怎样得到除特定字段以外的所有字段值!select (除去字段a、b)的字段 from table!
  • update 问题,更新 表一的A字段 = 表二的B字段
  • update 问题,更新 表一的A字段 = 表二的B字段
  • 我在A库中有表1(字段1主键,字段2,字段3),B库中表2(字段1主键,字段2,字段3),表1与表2的结构相同,数据数相同,现要将B库中的字段
  • 有一表A有b和c 两个字段,如何把c字段名改为d字段名.
  • 如何用系统日期减去出生日期得到年龄字段?

关键词

  • 字段
  • 连接
  • sql
  • sum
  • adoquery
  • balance
  • ziduan
  • 中
  • update b set
  • number

得分解答快速导航

  • 帖主:guchx

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo