CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何写这样sql语句:表A两个字段a与b相减,并将值赋给表B的字段a?其中A.a字段为多行

楼主pire237wl()2006-07-03 10:30:41 在 MS-SQL Server / 基础类 提问

请问asp如何写这样sql语句,表A两个字段a与b相减,并将值赋给表B的字段a?其中A中的a字段为多行,A与B中c字段相同,但c在A中为多行    
   
  看看这样错在哪里?    
  sql="update   B   set   B.a=(select   A.a-A.b   from   A   where   A.c=B.c   group   by   A.c)"多多感谢!    
   
  问题补充:  
  该程序功能是提取文件自动计费    
  用户注册信息在表A,提交索取信息在表B,相同字段为username    
  现在想实现自动计费,在表B中添加cost(费用)字段提交    
  提交后在B中money(余额)字段减去cost(费用)字段然后将值传到表A中更新A.money(余额)字段    
  在A中用户注册信息为不同行,在B中username可以提交多个请求,为多行    
  该如何实现,请帮帮忙?    
  我的qq是30395069    
  多谢帮助 问题点数:50、回复次数:5Top

1 楼LouisXIV(夜游神)回复于 2006-07-03 10:37:03 得分 0

update   B  
  set   B.a=A.a-A.b  
  from   A   inner   join   B   on   A.c=B.cTop

2 楼LiBin_OberthurCS(欧贝特)回复于 2006-07-03 10:37:32 得分 0

update   t1  
  set    
          a=t2.d  
  from  
          B   t1,(select   sum(a-b)   as   d   from   A   group   by   c)   t2  
  where  
          t1.c=t2.cTop

3 楼LiBin_OberthurCS(欧贝特)回复于 2006-07-03 10:38:11 得分 0

修改一下:  
  -------------------------------------------------------------------------------------  
  update   t1  
  set    
          a=t2.d  
  from  
          B   t1,(select   c,sum(a-b)   as   d   from   A   group   by   c)   t2  
  where  
          t1.c=t2.cTop

4 楼dutguoyi(新鲜鱼排)回复于 2006-07-03 10:40:09 得分 0

create   table   A(a   int,b   int,c   int)  
  insert   A   select   5,1,11  
  union   all   select   6,3,11  
   
  create   table   B(a   int,b   int,c   int)  
  insert   B   select   1,0,11  
   
  select   *   from   B  
  --如果A中c为多行,但是值相同的话,则可以使用top   1  
  update   B   set   B.a=(select   top   1   A.a-A.b   from   A   where   A.c=B.c   )  
  select   *   from   B  
  /*  
  a                       b                       c                        
  -----------   -----------   -----------    
  1                       0                       11  
  a                       b                       c                        
  -----------   -----------   -----------    
  4                       0                       11  
  */  
  drop   table   A  
  drop   table   B  
  Top

5 楼pire237wl()回复于 2006-07-03 10:52:07 得分 0

非常感谢!  
   
  不过在asp中能不能帮我写一条具体的语句,其中有字段是页面提交上的Top

相关问题

关键词

得分解答快速导航

  • 帖主:pire237wl

相关链接

  • SQL Server类图书

广告也精彩

反馈

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