CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求一个更新表的sql语句

楼主win1122(我是谁)2005-04-02 12:22:01 在 MS-SQL Server / 基础类 提问

想用一个update把表T1,按用途合计。计算为表T1'的样子.  
  表T1  
   
    标号         内码         用途                               账号             借方               贷方  
  --------------------------------------------------------------  
      01             01             基本费用                                           0                         0  
      02             0101             专户                                               0                         0  
      03             0102             现金                                               0                         0  
      04             010201             学校出纳             123               10                         0  
      05             010202             分行                     321                 0                       10  
      06             02             收款户                                               0                         0  
      07             0201                   邮费                   156               75                       30  
   
  表T1'  
    标号         内码         用途                               账号             借方               贷方  
  --------------------------------------------------------------  
      01             01             基本费用                                         10                       10  
      02             0101             专户                                               0                         0  
      03             0102             现金                                             10                       10  
      04             010201             学校出纳             123               10                         0  
      05             010202             分行                     321                 0                       10  
      06             02             收款户                                             75                       30  
      07             0201                   邮费                   156               75                       30  
   
   
  问题点数:100、回复次数:11Top

1 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 12:30:34 得分 0

第一个表的数据经过怎样的计算得到第二个表的数据的?????  
   
  逻辑写出来,免得给你计算错了。Top

2 楼win1122(我是谁)回复于 2005-04-02 13:07:08 得分 0

按用途合计,比如:基本费用=专户+   现金   ,   现金   =学校出纳+分行Top

3 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 13:09:17 得分 100

这样写了一下,楼主看看对不对。  
   
   
   
  --建立测试环境  
  Create   table   TEST  
  (标号   varchar(10),  
    内码   varchar(10),  
    用途   Nvarchar(20),  
    账号   varchar(10),  
    借方   Int,  
    贷方   Int  
  )  
  GO  
  --插入数据  
  Insert   TEST   Values('01','01'         ,N'基本费用',Null,0                         ,0)  
  Insert   TEST   Values('02','0101'     ,N'专户'         ,Null,0                         ,0)  
  Insert   TEST   Values('03','0102'     ,N'现金'         ,Null,0                         ,0)  
  Insert   TEST   Values('04','010201',N'学校出纳',123   ,10                       ,0)  
  Insert   TEST   Values('05','010202',N'分行'         ,321   ,0                         ,10)  
  Insert   TEST   Values('06','02'         ,N'收款户'     ,Null,0                         ,0)  
  Insert   TEST   Values('07','0201'     ,N'邮费'         ,156   ,75                       ,30)  
  GO  
  --测试  
  Select   *   from   TEST  
  Update   TEST   Set   借方=(Select   SUM(借方)   from   TEST   Where   内码   Like   A.内码+'%'),贷方=(Select   SUM(贷方)   from   TEST   Where   内码   Like   A.内码+'%')   from   TEST   A  
  Select   *   from   TEST  
  --删除测试环境  
  Drop   table   TEST  
  --结果  
  /*  
  标号         内码         用途                         账号           借方         贷方  
  01 01 基本费用 NULL 10 10  
  02 0101 专户 NULL 0 0  
  03 0102 现金 NULL 10 10  
  04 010201 学校出纳 123 10 0  
  05 010202 分行 321 0 10  
  06 02 收款户 NULL 75 30  
  07 0201 邮费 156 75 30  
  */  
   
  Top

4 楼xluzhong(Ralph)回复于 2005-04-02 13:13:27 得分 0

晕!Top

5 楼lishengyu(玉)回复于 2005-04-02 13:14:16 得分 0

update   表T1    
  set   借方=(select   sum(借方)   from   表T1   a   where   a.内码   like   内码+'%'),  
  set   贷方=(select   sum(贷方)   from   表T1   a   where   a.内码   like   内码+'%')  
  Top

6 楼lishengyu(玉)回复于 2005-04-02 13:17:26 得分 0

update   表T1    
  set    
  借方=(select   sum(借方)   from   表T1   a   where   a.内码   like   内码+'%'),  
  贷方=(select   sum(贷方)   from   表T1   a   where   a.内码   like   内码+'%')Top

7 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 13:22:46 得分 0

楼上的语句测试过吗??明显不行,结果不对。Top

8 楼win1122(我是谁)回复于 2005-04-02 15:10:55 得分 0

to:   paoluo(一天到晚游泳的鱼)     不行呀!Top

9 楼newpower888()回复于 2005-04-02 15:31:55 得分 0

我顶....Top

10 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 15:39:13 得分 0

怎么不行??我测试是OK的啊。提示是什么错误??Top

11 楼win1122(我是谁)回复于 2005-04-02 16:31:30 得分 0

哦!知道了。谢谢!Top

相关问题

  • 更新表SQL语句
  • 多表相对更新的问题。求一sql语句更新
  • 求一更新SQL语句
  • SQL 语句更新问题!~~~
  • sql语句更新问题
  • 为什么我用SQL语句更新库表不能成功?
  • 两个关联表的更新的SQL语句问题?
  • 写SQL语句更新表字段的问题。
  • Table表如何更新记录,不用SQL语句
  • 求更新表内记录的sql语句写法

关键词

  • 内码
  • 账号
  • 学校
  • 数据
  • null
  • 借方
  • 贷方
  • t1
  • 专户
  • 表

得分解答快速导航

  • 帖主:win1122
  • paoluo

相关链接

  • SQL Server类图书

广告也精彩

反馈

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