如何根据SQL Server 2008中下一条记录的值更新记录

时间:2015-07-30 11:11:51

标签: sql-server

我想根据下一条记录的值更新一列:

resid   startdate   enddate     weekday hours
-----------------------------------------------
2980    2013-09-23  2014-12-31      1     6
2980    2013-09-23  2014-12-31      2     6
2980    2013-09-23  2014-12-31      3     6
2980    2013-09-23  2014-12-31      4     6
2980    2013-09-23  2014-12-31      5     6
2980    2015-01-01  NULL            1     6,8
2980    2015-01-01  NULL            2     6,8
2980    2015-01-01  NULL            3     6,8
2980    2015-01-01  NULL            4     6,8
2980    2015-01-01  NULL            5     6,8
2980    2015-07-01  NULL            1     6
2980    2015-07-01  NULL            2     6
2980    2015-07-01  NULL            3     6
2980    2015-07-01  NULL            4     6
2980    2015-07-01  NULL            5     6

我想更新列enddate中的NULL值。它需要获得下一个startdate - 1 day的值。

例如,对于startdate 2015-01-01的所有记录,列enddate需要在2015-07-01 - 1天更新。

有人有解决方案吗?

2 个答案:

答案 0 :(得分:0)

aapt

答案 1 :(得分:0)

一种方法是使用子查询:

  AnimatorSet set = new AnimatorSet();

     long scaleXAmount = y - x; (I mentioned it on above)
     set.playTogether(
           ObjectAnimator.ofFloat(view, "translationX", 0, scaleXAmount )
       );
  set.setDuration(800).start();