我正在尝试在下方创建NEW_FIELD。第一次出现新标识符时,应将其设置为1(按日期排序)。如果日期字段中两行之间的天数大于90,那么NEW_FIELD应该增加1.有关如何为NEW_FIELD编码的提示吗?
NEW_FIELD Identifier Date Prev Date days_diff
1 1567 18/11/2005 NULL NULL
2 1567 23/02/2008 18/11/2005 827
2 1567 29/02/2008 23/02/2008 6
2 1567 7/03/2008 29/02/2008 7
3 1567 27/01/2011 23/05/2008 979
3 1567 3/02/2011 27/01/2011 7
3 1567 10/02/2011 3/02/2011 7
1 845136 1/06/2012 NULL NULL
1 845136 1/06/2012 1/06/2012 0
1 845136 1/06/2012 1/06/2012 0
1 845136 2/06/2012 1/06/2012 1
1 845136 3/06/2012 2/06/2012 1
2 845136 1/08/2013 3/06/2012 424
2 845136 2/08/2013 1/08/2013 1
2 845136 3/08/2013 2/08/2013 1
2 845136 4/08/2013 3/08/2013 1
答案 0 :(得分:2)
尝试这......
IF((DATEDIFF(DW,'2013-11-12','2014-02-12'))>=90 )
BEGIN
UPDATE YOUR_TABLENAME SET NEW_FIELD=((select (max(NEW_FIELD)+1) from YOUR_TABLENAME ))
END
ELSE
UPDATE YOUR_TABLENAME SET NEW_FIELD=((select (max(NEW_FIELD)) from YOUR_TABLENAME ))