У меня есть таблица, которая отслеживает выходных дней для каждого пользователя:
ID | Start | End | IDUser
1 | 02-02-2020 | 03-02-2020 | 2
2 | 01-02-2020 | 21-02-2020 | 2
IDUser подключается к таблице пользователей, в которой есть столбцы IDUser и Username
У меня есть просмотр / выставка / запрос , который показывает данные предыдущих упомянутых столбцов ПЛЮС столбец с именем UsedDays, который подсчитывает, сколько дней отпуска было использовано :
DATEDIFF(DAY, dbo.leavedays.start, dbo.leavedays.[end]) + 1
Это то, что у меня сейчас есть:
Start | End | IDUser | UsedDays
02-02-2020 | 03-02-2020 | 2 | 1
01-02-2020 | 21-02-2020 | 1 | 20
У каждого пользователя есть общее доступное количество дней в году, поэтому я хотел бы иметь столбец, который вычитается из общего числа возможных дней каждого пользователя, и покажите, сколько осталось.
Пример:
У Джона (IDUser = 2) в этом году доступно 30 дней, и он уже использовал 1, поэтому осталось 29 дней
Start | End | IDUser | TotalDaysYear | UsedDays | LeftDays
02-02-2020 | 03-02-2020 | 2 | 30 | 1 | 29
01-02-2020 | 21-02-2020 | 1 | 20 | 20 | 0
Я считаю, что мне нужно создать таблицу для TotalDaysYear, вероятно, с:
ID | Year | TotalDaysYear | IDUser
1 | 2020 | 30 | 2
2 | 2020 | 20 | 1
IDUser подключается к таблице пользователей, в которой есть столбцы IDUser и Username
Но я не могу найти логи c для и как найти желаемый результат, так как он зависит также от года (количество дней в году может меняться для каждого пользователя).