Я пытаюсь найти всех людей, которые взяли перерыв в предыдущие месяцы, я получил большинство из них. Но если никто не взял перерыв в текущем месяце, мне нужно заполнить строку, в которой говорится 0, чтобы получить правильное изображение.
Вот как выглядят мои данные:
Вот что у меня есть для визуального:
select s.*, DATEPART(MONTH, startd) as timeoff_Mon,
DATEDIFF(day, startd, endd) as timeoff, getdate() as dat,
DATEPART(MONTH, GETDATE()) as Current_Mon from sample s;
Вы можете видеть, что Джек был Единственный сотрудник, у которого выходной в январе был на один день, а Джон в феврале на 4 дня,
Теперь, в марте, у меня есть текущий месяц, который является последним столбцом на изображении выше от текущей даты. .
Используя этот текущий месяц, есть ли способ заполнить строку или жестко закодировать строку, чтобы заполнить столбец времени отключения как 0 ??
Желаемый результат:
Вот скрипка SQL с вышеупомянутой проблемой. https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=9e8fbb2ae8dcfec9cc5fdfa784782753