CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

SQL Server一对多多表关联Update问题

楼主9527(做人好累,下辈子我要做棵大树)2002-01-14 11:18:18 在 MS-SQL Server / 基础类 提问

诸位,我在MS   SQLServer   7/2000下作下述操作:  
  表  
  Tmp001(int1   int,int2   int);  
  int1         int2  
  ----         ----  
  1             100  
  表  
  Tmp002(int1   int,int2   int);  
  int1         int2  
  ----         ----  
  1             1  
  1             2  
  执行  
  Update   T1  
  Set  
  T1.int2=T1.int2-T2.int2  
  from    
  Tmp001   T1,Tmp002   T2  
  Where   T1.int1=T2.int1  
  得到  
  int1         int2  
  ----         ----  
  1             99  
  ,请问大家如何能够得到  
  int1         int2  
  ----         ----  
  1             97  
  请不要使用先求和的形式,别的SQL   系统(如Oracle,sybase)中有无同样病况。无论如何,我觉得SQL   Server返回99是非常不负责任的。  
   
   
   
  问题点数:20、回复次数:11Top

1 楼ferrytang(欢迎你)回复于 2002-01-14 11:22:07 得分 5

感觉好像你的sql语句有问题哦!Top

2 楼xzg8848(山不在高)回复于 2002-01-14 11:33:47 得分 5

不先求和要什么意思?   我认为你的语句是有问题的.   用子查询可以解决.  
  update   Tmp001   as   t1     set   t1.int2=t1.int2-(select   sum(t2.int2)   from   Tmp002   as   t2   where   t1.int1=t2.int1)Top

3 楼9527(做人好累,下辈子我要做棵大树)回复于 2002-01-14 12:06:46 得分 0

to   ferrytang(水油)   
  有啥问题?语句本身语法山肯定没有问题,但是执行结果有问题,或者你说的有问题是指SQL   本身对这种情况的处理具有不可知性,这也是我的问题所在  
  to   xzg8848(老刚)   
  不先求和,就是不能用子查询求和。  
   
  我举的仅仅是一个非常简单的例子,实际应用中表可能会有别的字段参与运算,例如说比率,类型什莫的,难以简单的作求和运算。或者说你在子句中采用Group   By求和后仍然是一对多的关系。Top

4 楼9527(做人好累,下辈子我要做棵大树)回复于 2002-01-14 12:55:45 得分 0

????Top

5 楼9527(做人好累,下辈子我要做棵大树)回复于 2002-01-14 15:41:30 得分 0

什么?Top

6 楼garbage_collector(回收站)回复于 2002-01-15 08:55:35 得分 5

没办法了,只能换人顶一下了,幸亏我没有多给分呀,教训,有一次给了150分打了水漂,CSDN上有没有高手?只是一些闲人聊天打屁  
  Top

7 楼1898xxy(就此算了吧)回复于 2002-01-15 11:11:43 得分 5

为什么不用子查询求和??别为难自己了,  
  另:你的态度很不好呀,没有谁有义务帮你解决问题的!!!  
  Top

8 楼1898xxy(就此算了吧)回复于 2002-01-15 11:16:14 得分 0

另;我是一只菜鸟:]Top

9 楼9527(做人好累,下辈子我要做棵大树)回复于 2002-01-15 11:40:10 得分 0

To   1898xxy(我是怎样长大的)  
  不论态度如何,总归是事实。不仅仅是CSDN,互联网上到处都是聊天罐水,没几个干正经事的,很悲哀呀,我一般尽量不在CSDN上问问题,这次也就是想和大家讨论一下,仅此而已,结果大家都不感兴趣,伤心。CSDN上有没有高手,仔细看一下大家讨论的问题就知道了,我想这和编程工具的集成度增高,做程序员的门槛降低有关,当然我自己的水平也不高,否则也不会问这种比较显而易见不可行的问题。但是我对国内软件业整体水平表示担忧,高手,谁是高手,并不是因为自己不是,别人就都是,对吧。谢谢你的参与,可能我对大家的期望太高了,呵呵。Top

10 楼9527(做人好累,下辈子我要做棵大树)回复于 2002-01-15 11:44:01 得分 0

算了,我放弃了,顶的自己都累了,希望大家学业有成,再见Top

11 楼1898xxy(就此算了吧)回复于 2002-01-15 11:47:58 得分 0

呵,看来你真是"忧国忧民"呀:]  
  你又不是国家主席,没有必要想那么多吧??  
  有兴趣请帮忙看看http://www.csdn.net/Expert/topic/477/477534.shtmTop

相关问题

  • SQL Server两表关联的问题
  • MS SQL Server下的多表关联Update问题
  • 在SQL SERVER里如何删除多表里关联的行?
  • 关于表关联时SQL语句的关联条件
  • sql 关联表求和的问题!!!!
  • 表关联的sql语句(急!)
  • 表关联sql语句问题,谢谢
  • 请教各位大侠,SQL Server关于几个(例如:三个)表的关联问题?
  • 将sql server 的关联语句改成 ORACLE8.17的 关联语句(急急)
  • 未与信任 SQL Server 连接相关联

关键词

  • 查询
  • csdn
  • sql
  • 表
  • 问题
  • 高手
  • tmp
  • 子查询
  • 没有
  • update

得分解答快速导航

  • 帖主:9527
  • ferrytang
  • xzg8848
  • garbage_collector
  • 1898xxy

相关链接

  • SQL Server类图书

广告也精彩

反馈

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