【发布时间】:2014-08-09 09:24:12
【问题描述】:
我有一个简单的表 tblWorkedHours
ID int,
PayPeriod int,
MonthEnd date,
WorkedHours float,
ContractHours float,
OwedHours float,
PrvsOwedHours float,
FinalOwedHours float
我有两个计算列,分别称为 PrvsOwedHours、FinalOwedHours。
FinaOWedHours = OWedHOurs+PrvsOwedHours.
PrvsOwedHours is the Previous months FinalOwedHours, that is carried forward into the next month.
但是最好的方法是什么...我应该每个月创建一个新表并加入这两个表还是他们的某种递归方式。
恐怕我没有测试数据...
【问题讨论】:
-
没有测试数据,您永远无法确定解决方案是否有效。
-
请指定您正在使用哪个 RDBMS - 如果需要递归,则语法会因使用哪个而有很大差异。
-
另外,在你提出问题之前尝试做出努力。您可以在桌子上摆弄一下,以节省人们试图帮助您的时间。此外,您还可以在沙坑环境中发明一些示例数据。见这里:sqlfiddle.com/#!2/6966f2/1
-
我尝试过使用简单的数据,但连接生成了一个无限循环,创建了越来越多的记录。我应该解释更多...计算我需要在 PrvsOwedHours 中添加的 FinalOwedHours,但这是上个月的 FinalOwedHours...这些有意义吗?有没有人遇到过这样的事情,如果有,他们是如何解决的?