select sum(zetable)
from moneys
where socialnumber = '" + socialnumber + "'
and identifier = '" + id + "'
and salary in ('3333','3322','2222','2211')
and startdate <= stardatesalary
and (enddate >= enddatesalary
or enddate is null)
所以我的问题是,虽然我确实从工资的开始日期正确地获得了工资。我应该寻找与开始日期的一个月,我们试图获得的工资。例如,如果工资从6月16日到7月16日,另一个从7月28日到28日。用薪水来查这些,我会从6月一直到7月。如果我查找7月1日到31日,我得到的是7月1日到31日,但随后数据都放在一堆中,它不能按预期工作。
所以我需要工资期的结束日期和开始日期之间的月份,我正在寻找数据,因为它将削减6月至7月的工资@6月30日,只计算1-16jly。它们需要是独立的,否则会把很多事情搞得一团糟。
我希望我清楚这一点。我一直在尝试用SQL想出一个解决方案,但还不太确定如何做到这一点。
发布于 2014-10-23 14:27:07
一种简单的方法是将结果与日期维度表(每个日期包含一行)连接起来。对于每一行,您将显示该特定日期的工资(即,将全额工资除以该工资周期涵盖的天数)。然后对这个新列进行分组和汇总。
简单:)
发布于 2014-10-29 08:48:00
看起来我的问题更多的是在Java方面。我在try with if语句中对日期进行了比较,现在它得到了我想要的东西。仍然没有得到两个日期的总和,但我会解决它并发布结果。然后发布完成的垃圾代码。
https://stackoverflow.com/questions/26527539
复制相似问题