CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

[求助]谁能帮帮我看看怎么写这个sql语句?

楼主internetzap(中华)2003-12-02 19:56:18 在 MS-SQL Server / 疑难问题 提问

[求助]谁能帮帮我看看,这个sql语句?  
  1,我有一个表  
  zap   (quantity   ,   comid)  
  zap1(comid   ,accountquanity)  
   
  现在zap1中有数据。  
  现在我是想把当前zap表中的对应的comid,的quantity的数据,加到表zap1对应的comid,,的accountquantity,上面去,  
   
  -------------------------------------  
  update   zap1  
  set   accountquantity   =   accountquantity   +   (select   quantity   from   zap   ,   zap1   where   zap.comid   =   zap1.comid)  
  where   zap1.comid   =   zap.comid  
  --------------------  
  但是效果没有达到,不知道,有没有知道的,指点一下,  
  谢谢先,  
     
  问题点数:100、回复次数:22Top

1 楼wdbc(wdbc for java)回复于 2003-12-02 20:00:24 得分 5

update   zap1  
  set   accountquantity   =   (select   accountquantity   +   quantity   from   zap   ,   zap1   where   zap.comid   =   zap1.comid)  
  where   zap1.comid   =   (select   zap.comid   from   zap)  
  Top

2 楼internetzap(中华)回复于 2003-12-02 20:02:30 得分 0

楼上的谢谢先,,我测试一下,Top

3 楼wdbc(wdbc for java)回复于 2003-12-02 20:03:06 得分 0

sorry     错了  
   
   
  Top

4 楼playyuer(退休干部 卧鼠藏虫)回复于 2003-12-02 20:06:27 得分 10

update   zap1  
  set   accountquantity   =   accountquantity    
                      +   (select   quantity   from   zap   where   comid   =   zap1.comid)  
  where   comid   in   (select   comid   from   zap)Top

5 楼playyuer(退休干部 卧鼠藏虫)回复于 2003-12-02 20:07:08 得分 5

update   zap1  
  set   accountquantity   =   accountquantity    
                      +   (select   sum(quantity)   from   zap   where   comid   =   zap1.comid)  
  where   comid   in   (select   comid   from   zap)  
  Top

6 楼Arionma()回复于 2003-12-02 20:10:37 得分 5

在子查询中应该还加一个group   by   comid.Top

7 楼internetzap(中华)回复于 2003-12-02 20:12:50 得分 0

to::   wdbc(wdbc   for   java)   (  
  有提示错误哦,  
  服务器:   消息   512,级别   16,状态   1,行   1  
  子查询返回的值多于一个。当子查询跟随在   =、!=、<、<=、>、>=   之后,或子查询用作表达式时,这种情况是不允许的。  
  语句已终止。  
   
  你再帮我看看撒  
  Top

8 楼internetzap(中华)回复于 2003-12-02 20:17:09 得分 0

to   :playyuer(双规干部)    
  我哪个不是加上总和,是加上对应相同的zap表中的comid的,quantity,,Top

9 楼zjcxc(邹建)回复于 2003-12-02 20:19:48 得分 8

 
  update   zap1   set   accountquantity=a.accountquantity+b.quantity  
  from   zap1   a   join   zap   b   on   a.comid=b.comidTop

10 楼internetzap(中华)回复于 2003-12-02 20:20:20 得分 0

to   :上面的各位,  
  我用,  
  update   zap1  
  set   accountquantity   =   accountquantity    
                      +   (select   sum(quantity)   from   zap   where   comid   =   zap1.comid   group   by   comid)  
  where   comid   in   (select   comid   from   zap)  
    还是出现这个提示,  
  --------------------------------------------------  
  服务器:   消息   512,级别   16,状态   1,行   1  
  子查询返回的值多于一个。当子查询跟随在   =、!=、<、<=、>、>=   之后,或子查询用作表达式时,这种情况是不允许的。  
  语句已终止。  
   
  -----------------------------------  
  我觉得,现在问题,是怎么在表zap1中的accountquantity,加上对应表zap   ,comid的quantityTop

11 楼zjcxc(邹建)回复于 2003-12-02 20:21:26 得分 5

update   zap1   set   accountquantity=a.accountquantity+b.quantity  
  from   zap1   a   join   (  
  select   a.comid,quantity=sum(quantity)   from   zap   a   join   zap1   b   on   a.comid=b.comid  
  )b   on   a.comid=b.comidTop

12 楼playyuer(退休干部 卧鼠藏虫)回复于 2003-12-02 20:23:17 得分 10

我之所以sum  
  是因为怕:   zap与zap1   一对多!  
   
  服务器:   消息   512,级别   16,状态   1,行   1  
  子查询返回的值多于一个。当子查询跟随在   =、!=、<、<=、>、>=   之后,或子查询用作表达式时,这种情况是不允许的。  
  Top

13 楼internetzap(中华)回复于 2003-12-02 20:23:35 得分 0

to   ::   zjcxc(邹建)    
  我先测试一下,谢谢先,Top

14 楼internetzap(中华)回复于 2003-12-02 20:31:51 得分 0

to   ::   zjcxc(邹建)    
  执行你这个,  
  提示错误  
  服务器:   消息   8118,级别   16,状态   1,行   1  
  列   'a.comid'   在选择列表中无效,因为该列未包含在聚合函数中,并且没有   GROUP   BY   子句。  
  请你还帮我看看把,Top

15 楼CrazyFor(冬眠的鼹鼠)回复于 2003-12-02 22:30:30 得分 10

[求助]谁能帮帮我看看,这个sql语句?  
  1,我有一个表  
  zap   (quantity   ,   comid)  
  zap1(comid   ,accountquantity)  
  ~~~~~~~~~~~~~~~~~~~~~~~^这个有T吧.  
   
  现在zap1中有数据。  
  现在我是想把当前zap表中的对应的comid,的quantity的数据,加到表zap1对应的comid,,的accountquantity,上面去,  
   
  update   zap1   set   accountquantity=accountquantity+b.quantity   from   zap   a   where   a.comid=zap1.comid  
   
  如果zap表comid有重复  
  update   zap1   set   accountquantity=accountquantity+b.quantity   from   (select   comid,sum(quantity)   as   quantity   from   zap   group   by   comid)   a   where   a.comid=zap1.comid  
  Top

16 楼txlicenhe(马可)回复于 2003-12-02 23:47:45 得分 10

update   zap1   set   accountquantity=a.accountquantity+b.quantity  
  from   zap1   a   join   (  
  select   ta.comid,quantity=sum(quantity)   from   zap   ta   join   zap1   tb   on   ta.comid=tb.comid  
  )b   on   a.comid=b.comid  
  Top

17 楼zjcxc(邹建)回复于 2003-12-03 08:18:14 得分 10

--是忘了加group   by  
  update   zap1   set   accountquantity=a.accountquantity+b.quantity  
  from   zap1   a   join   (  
  select   a.comid,quantity=sum(quantity)   from   zap   a   join   zap1   b   on   a.comid=b.comid  
    group   by   a.comid)b   on   a.comid=b.comid  
  Top

18 楼baby97(小雕(Asp→.Net中...)回复于 2003-12-03 09:22:38 得分 5

update   zapl   set   accountquantity=(select   a.accountquantity+b.quantity   from   zap   b  
          join   zapl   a   on   b.comid=a.comid)   where   zapl.comid=zap.comidTop

19 楼internetzap(中华)回复于 2003-12-06 22:09:22 得分 0

问题搞定,谢谢上面的各位,,Top

20 楼designMM(yamping)回复于 2003-12-06 22:23:22 得分 2

那你用的是什么呢,公布出来嘛!Top

21 楼info9817(老巴布)回复于 2003-12-06 22:32:44 得分 10

 
  已经测试成功!斑斑给我加点分吧!  
  UPDATE   zap1,   zap   SET   accountquantity   =   [accountquantity]+[quantity]  
  WHERE   [zap1].[comid]=[zap].[comid];  
   
  试试看!  
  Top

22 楼yonghengdizhen(等季节一过,繁花就凋落)回复于 2003-12-07 17:28:40 得分 5

playyuer(双规干部)的是对的.  
  Top

相关问题

  • sql语句怎么写?
  • sql语句怎么写
  • SQL语句怎么写啊~~
  • sql语句怎么写?
  • sql语句怎么写
  • SQL语句怎么写
  • SQL语句怎么写呀
  • sql语句怎么写
  • 怎么写SQL语句
  • 写SQL语句???

关键词

  • 语句
  • 查询
  • 服务器
  • 数据
  • 消息
  • comid
  • zap
  • accountquantity
  • quantity
  • 行1子查询返回

得分解答快速导航

  • 帖主:internetzap
  • wdbc
  • playyuer
  • playyuer
  • Arionma
  • zjcxc
  • zjcxc
  • playyuer
  • CrazyFor
  • txlicenhe
  • zjcxc
  • baby97
  • designMM
  • info9817
  • yonghengdizhen

相关链接

  • SQL Server类图书

广告也精彩

反馈

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