Foxtable(狐表)用户栏目专家坐堂 → sql 今天的上日余额 = 昨天的本日余额


  共有2155人关注过本帖树形打印复制链接

主题:sql 今天的上日余额 = 昨天的本日余额

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
sql 今天的上日余额 = 昨天的本日余额  发帖心情 Post By:2019/9/20 11:00:00 [只看该作者]

蓝大大,

日期 项目编号 上日余额  本日增加  本日减少 本日余额


要让今天的上日余额 = 昨天的本日余额

在后台用sql语句写,有什么好招吗


update  表A  本日余额 = 上日余额
[此贴子已经被作者于2019/9/20 11:28:15编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106543 积分:541880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/20 11:24:00 [只看该作者]

每日只有一条数据?某一个日期缺的怎么计算?

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/20 11:28:00 [只看该作者]

蓝大大,

日期 项目编号 上日余额  本日增加  本日减少 本日余额



按项目编号来,对于这个项目编号来说,每天只有一条数据

这个是后台数据,基本不会有缺的日期。

或者说缺的日期,就跳过。如果复杂,可以暂时不考虑这个。
[此贴子已经被作者于2019/9/20 11:28:33编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106543 积分:541880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/20 11:51:00 [只看该作者]

试试

update 表A set 表A上日余额 = a.本日余额 from 表A as a where a.项目编号=表A.项目编号 and a.日期 = DateAdd(d, -1, 表A.日期)

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/20 13:54:00 [只看该作者]

好像都和 as a   有关。

谢谢老师!!

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/20 14:17:00 [只看该作者]

cmd.commandtext = "updat e 资金日报账户表 set 上日余额 = a.本日余额 from 资金日报账户表 As a  where a.项目编号 = 资金日报账户表.项目编号 And a.日期 = DateAdd(d, -1, 资金日报账户表.日期)  "  '
cmd.ExecuteNonQuery

提示错误:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190920141702.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106543 积分:541880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/20 14:26:00 [只看该作者]

cmd.commandtext = "updat e 资金日报账户表 set 上日余额 = a.本日余额 from 资金日报账户表 As a  where a.项目编号 = 项目编号 And a.日期 = DateAdd(d, -1, 日期)  "  '

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/20 14:42:00 [只看该作者]

老师,写了这个没有报错,但是也没有写入值。不知道什么原因

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/20 14:52:00 [只看该作者]

对了,老师,还有个问题:

好像本日余额 和 上日余额 不能分开写,因为是在有了1号的期初余额之后,先有本日余额,再来第二天的上日余额 ,再来第二天的本日余额。
分开写就会分开更新了。

cmd.commandtext = "updat e 资金日报账户表 set 上日余额 = a.本日余额 from 资金日报账户表 As a  where a.项目编号 = 项目编号 And a.日期 = DateAdd(day, -1, 日期)  "
cmd.ExecuteNonQuery


cmd.commandtext = "updat e 资金日报账户表 set 本日余额 = ISNULL([上日余额],0) + ISNULL([本日增加],0) - ISNULL([本日减少],0)  "  '
cmd.ExecuteNonQuery


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106543 积分:541880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/20 14:59:00 [只看该作者]

导这个表部分数据过来测试

 回到顶部
总数 18 1 2 下一页