I have a very simple requirement but I'm struggling to find a way around this. However, I understand it may be better using code rather than SQL.
I have a very simple query:
SELECT
ServiceCode,
StartDate,
Available
FROM @tmpAvailability
ORDER BY StartDate;
Which produces an output like this:
Code | Dates | Available
TEST | 2018-01-04 | 1
TEST | 2018-01-05 | 1
TEST | 2018-01-06 | 0
TEST | 2018-01-07 | 0
TEST | 2018-01-08 | 0
TEST | 2018-01-09 | 0
TEST | 2018-01-10 | 1
TEST | 2018-01-11 | 1
TEST | 2018-01-12 | 1
TEST | 2018-01-13 | 0
What I need is a decreasing number of days available, for example:
Code | Dates | Available | Days Available
TEST | 2018-01-04 | 1 | 2
TEST | 2018-01-05 | 1 | 1
TEST | 2018-01-06 | 0 | 0
TEST | 2018-01-07 | 0 | 0
TEST | 2018-01-08 | 0 | 0
TEST | 2018-01-09 | 0 | 0
TEST | 2018-01-10 | 1 | 3
TEST | 2018-01-11 | 1 | 2
TEST | 2018-01-12 | 1 | 1
TEST | 2018-01-13 | 0 | 0