|
Организовать запрос |
☑ |
0
birk
09.02.12
✎
15:24
|
Есть таблица:
01.01.2011 Сотрудник1 Больничный
02.01.2011 Сотрудник1 Больничный
03.01.2011 Сотрудник1 Больничный
04.01.2011 Сотрудник1 Отпуск
05.01.2011 Сотрудник1 Отпуск
06.01.2011 Сотрудник1 Отпуск
Нужно получить:
Сотрудник1 | Больничный | С 01.01.2011 По 03.01.2011
Сотрудник1 | Отпуск | С 04.01.2011 По 06.01.2011
Подскажите как?
|
|
1
shuhard
09.02.12
✎
15:25
|
(0) соединить налево дважды с максимумом по дате и минимумом
можно подзапросами, можно временными таблицами
|
|
2
birk
09.02.12
✎
15:28
|
Не понял, как я получу от сабжа 03.01.2011 Сотрудник1 Больничный максимумом?
|
|
3
Maxus43
09.02.12
✎
15:32
|
а если даты не по порядку? или после отпуска опять больничный?
|
|
4
birk
09.02.12
✎
15:33
|
так и есть :|
|
|
5
shuhard
09.02.12
✎
15:36
|
(3) стоп, не надо грязи,
в ТЗ было два разных не пересекающихся начисления
и (1) полностью ТЗ соответствует
|
|
6
birk
09.02.12
✎
15:37
|
01.01.2011 Сотрудник1 Больничный
02.01.2011 Сотрудник1 Больничный
03.01.2011 Сотрудник1 Больничный
04.01.2011 Сотрудник1 Отпуск
05.01.2011 Сотрудник1 Отпуск
06.01.2011 Сотрудник1 Отпуск
07.01.2011 Сотрудник1 Больничный
Нужно получить:
Сотрудник1 | Больничный | С 01.01.2011 По 03.01.2011
Сотрудник1 | Отпуск | С 04.01.2011 По 06.01.2011
Сотрудник1 | Больничный | С 07.01.2011 По 07.01.2011
|
|
7
Maxus43
09.02.12
✎
15:38
|
(5) я просто заголовок следущего вопроса протелепатировал)
|
|
8
shuhard
09.02.12
✎
15:38
|
(7) =)
|
|
9
Maxus43
09.02.12
✎
15:39
|
запросом имхо не решить, в коде надо обрабатывать
|
|
10
shuhard
09.02.12
✎
15:44
|
(9) почему
31 временная таблица
+ производственный календарь
|
|
11
Maxus43
09.02.12
✎
15:45
|
ну да, если 31 таблица и календарь :) шкурка выделки не стоит
|
|