Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Распределение по календарю / 6 сообщений из 6, страница 1 из 1
09.08.2021, 14:35
    #40089702
Распределение по календарю
Добрый день!

Никак не могу подобрать правильный синтаксис. Задача такая стоит: есть таблица прием/увольнения сотрудников в упрощенном виде
ФИО принят уволен
Иванов 2019-03-01 2020-04-01
Петров 2018-02-01 2021-03-01
И есть таблица календарь где идут все даты подряд начиная с 2000 года
Дата
2019-03-01
2019-03-02
2019-03-03 и т.д.
Нужно сджойнить их таким образом, что бы Иванов был во всех строках начиная от даты приема заканчивая датой увольнения:
Дата ФИО Принят Уволен
2019-03-01 Иванов. 2019-03-01 2020-04-01
2019-03-02 Иванов 2019-03-01 2020-04-01
2019-03-03 Иванов 2019-03-01 2020-04-01
......
2020-04-01 Иванов 2019-03-01 2020-04-01

Никак не могу правильно составить запрос. Заранее благодарю
...
Рейтинг: 0 / 0
09.08.2021, 14:41
    #40089703
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение по календарю
Код: sql
1.
on календарь.дата between сотрудники.принят  and сотрудник.уволен
...
Рейтинг: 0 / 0
09.08.2021, 15:35
    #40089715
Распределение по календарю
msLex,
спасибо большое!
Еще такой вопрос, если есть NULL в дате увольнения. Как сделать, что бы они не пропали. Сейчас только ненулевые сджойнились?
...
Рейтинг: 0 / 0
09.08.2021, 15:38
    #40089717
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение по календарю
ВадимЧибисов
msLex,
спасибо большое!
Еще такой вопрос, если есть NULL в дате увольнения. Как сделать, что бы они не пропали. Сейчас только ненулевые сджойнились?

Код: sql
1.
between сотрудники.принят  and isnull(сотрудник.уволен, '21000101')
...
Рейтинг: 0 / 0
09.08.2021, 23:13
    #40089751
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение по календарю
court
Код: sql
1.
between сотрудники.принят  and isnull(сотрудник.уволен, '21000101')

Тэкс, закладываем "проблему 2100 года"?
...
Рейтинг: 0 / 0
09.08.2021, 23:49
    #40089758
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распределение по календарю
alexeyvg
court
Код: sql
1.
between сотрудники.принят  and isnull(сотрудник.уволен, '21000101')


Тэкс, закладываем "проблему 2100 года"?
после нас, - хоть потоп :)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Распределение по календарю / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]