请教一个查询语句。求大神,求帮助。我是菜鸟程序猿

jcxynpy 2016-02-15 09:31:13
如图。如何将同一个人的天数累计。算法是 累计天数=本次合计天数+上次累计天数
求sql语句该如何写。其他的都会,只需要告诉我累加的那部分代码就可以了,求帮助,求大神带。
...全文
188 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcxynpy 2016-02-15
  • 打赏
  • 举报
回复
2楼的这肯定不行吧?要求是同一个人的合计天数和前一次的累计天数相加,你这个语句应该是会将不同的人的语句也相加。我估计是要在后面加上where a.id=id,之类的东东。。。求大神
纸飞机_ 2016-02-15
  • 打赏
  • 举报
回复
select (合计天数+累计天数) as 累计天数 from 表 这?
拜一刀 2016-02-15
  • 打赏
  • 举报
回复
累计天数=本次合计天数+上次累计天数 其实就是把所有合计天数加到一起吧
jcxynpy 2016-02-15
  • 打赏
  • 举报
回复
谢谢啦,你再帮我看一个问题吧,谢谢啦。两个贴的分最后都给你。 http://bbs.csdn.net/topics/391902629?page=1#post-400834800 我的另一个帖子,求助! @BitCoffee
BitCoffee 2016-02-15
  • 打赏
  • 举报
回复
。。。 最后group里面的累计天数列不需要分组,去掉。
BitCoffee 2016-02-15
  • 打赏
  • 举报
回复

select 自动编号,姓名,身份类别,休假类别,休假时间 as 休假开始时间,休假时间2 as 休假结束时间,datediff(Day,休假时间, 休假时间2) +  1 as 合计天数,科室,(select sum(datediff(Day,休假时间, 休假时间2) +  1) from hsxjtj where 姓名 = t.姓名 and 休假时间2 <= t.休假时间2) from hsxjtj t group by 科室,姓名,身份类别,休假类别,休假时间,休假时间2,累计天数,自动编号
BitCoffee 2016-02-15
  • 打赏
  • 举报
回复

-- 以这个为准
select 自动编号,姓名,身份类别,休假类别,休假时间 as 休假开始时间,休假时间2 as 休假结束时间,datediff(Day,休假时间, 休假时间2) +  1 as 合计天数,科室,(select sum(datediff(Day,休假时间, 休假时间2) +  1) from hsxjtj where 姓名 = t.姓名 and 休假时间2 <= t.休假时间2) as 累计天数 from hsxjtj t group by 科室,姓名,身份类别,休假类别,休假时间,休假时间2,累计天数,自动编号
jcxynpy 2016-02-15
  • 打赏
  • 举报
回复
恩,后面的合计天数和累计天数数据库里没有这两个字段,是我自己算出来的。 语句:"select 自动编号,姓名,身份类别,休假类别,休假时间 as 休假开始时间,休假时间2 as 休假结束时间, datediff(Day,休假时间, 休假时间2) as 合计天数,科室 from hsxjtj group by 科室,姓名,身份类别,休假类别,休假时间,休假时间2,累计天数,自动编号"; 给我说一下累计天数的语句该怎么写吧@zhang3534
BitCoffee 2016-02-15
  • 打赏
  • 举报
回复
数据库里面的原字段说清楚,后面的合计天数和累计天数是不是你自己sql语句算出来的?
BitCoffee 2016-02-15
  • 打赏
  • 举报
回复
你这休假开始时间2016/2/14至结束时间2016/2/14这合计天数为0?领导,我想天天请假.
纸飞机_ 2016-02-15
  • 打赏
  • 举报
回复
引用 2 楼 jcxynpy 的回复:
2楼的这肯定不行吧?要求是同一个人的合计天数和前一次的累计天数相加,你这个语句应该是会将不同的人的语句也相加。我估计是要在后面加上where a.id=id,之类的东东。。。求大神
前面被你的图和算法坑了。算法是 累计天数=本次合计天数+上次累计天数 你这里为什么要上次累计天数,你的累计天数不是等于合计天数的总和么?
纸飞机_ 2016-02-15
  • 打赏
  • 举报
回复
引用 2 楼 jcxynpy 的回复:
2楼的这肯定不行吧?要求是同一个人的合计天数和前一次的累计天数相加,你这个语句应该是会将不同的人的语句也相加。我估计是要在后面加上where a.id=id,之类的东东。。。求大神
求sql语句该如何写。其他的都会,只需要告诉我累加的那部分代码就可以了 不是你自己说的只要告诉你累加怎么写么?我只是告诉你可以这么加
jcxynpy 2016-02-15
  • 打赏
  • 举报
回复
有点复杂啊感觉,能给个参考语句吗 @zhang3534
zhang3534 2016-02-15
  • 打赏
  • 举报
回复
最笨的办法就是一个一个算 1、 根据休假开始时间 查找小于这个时间的最后一条记录(时间排序),获取那个累计值 2、算出来的数据加上这次的请假天数, ok 就有数据了

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧