У меня есть следующая таблица:сумма отсчет дней во многих интервалах
CREATE table DataDiff (CLI tinyint, id tinyint, date datetime, countable bit)
insert into DataDiff values (234,1,convert(datetime,'17/12/1997',103),1)
insert into DataDiff values (234,2,convert(datetime,'09/07/1998',103),0)
insert into DataDiff values (234,3,convert(datetime,'11/08/1998',103),1)
insert into DataDiff values (234,4,convert(datetime,'29/12/1998',103),0)
insert into DataDiff values (234,5,convert(datetime,'01/02/1999',103),1)
insert into DataDiff values (234,6,convert(datetime,'03/02/1999',103),0)
insert into DataDiff values (234,7,convert(datetime,'03/02/1999',103),1)
insert into DataDiff values (234,8,convert(datetime,'29/03/1999',103),0)
insert into DataDiff values (234,9,convert(datetime,'29/03/1999',103),1)
insert into DataDiff values (234,10,convert(datetime,'31/03/1999',103),0)
Я с трудом переписывания, без RBAR, UDF считать дни с ID = 1 до ID = 2 затем от ID = 3 до ID = 4 и т. д., всегда начиная счетчик, когда COUNTABLE = 1 и останавливается, когда COUNTABLE = 0, а затем возвращает сумму для данного CLI.
Длина в дни пяти интервалов, изображенных является:
ID=2 - ID=1 = 204
ID=4 - ID=3 = 140
ID=6 - ID=5 = 2
ID=8 - ID=7 = 54
ID=10 -ID=9 = 2
в общей сложности 402 «счетных» дней от общего количества 469 дней между ID = 1 и J = 10
Что делать, если у вас есть нечетное количество дней? –
@ Justin Satyr Вы имеете в виду, если последний COUNTABLE = 1? Ну, в этом случае это до сегодняшнего дня. –
Вы действительно не определили, что такое 'COUNTABLE'. –