Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


set dateformat dmy
create table #t1 (id varchar(10), StDate datetime, EnDate datetime)
insert #t1 ((id, StDate , EnDate) select '0001', '01.01.2012', '31.12.2012'
insert #t1 ((id, StDate , EnDate) select '0002', '01.02.2012', '25.12.2012'
insert #t1 ((id, StDate , EnDate) select '0003', '01.01.2012', '31.12.2012'
insert #t1 ((id, StDate , EnDate) select '000N', '01.01.2012', '31.12.2012'

create table #t2 (id varchar(10), StDate datetime, EnDate datetime)
insert #t2 ((id, StDate , EnDate) select '0001', '15.01.2012', '25.01.2012'
insert #t2 ((id, StDate , EnDate) select '0001', '10.05.2012', '15.05.2012'
insert #t2 ((id, StDate , EnDate) select '0002', '01.02.2012', '15.02.2012'
insert #t2 ((id, StDate , EnDate) select '000N', '03.10.2012', '15.10.2012'

T1 - Таблица общего стажа по сотрудникам
Таб№ Начало Окончание
0001 01.01.2012 31.12.2012 сотрудник 1
0002 01.02.2012 25.12.2012 сотрудник 2
............................................................................................
000N 01.01.2012 31.12.2012 сотрудник N

-----------------------------------------------------------------------------------------------------------------------------

T2 - Таблица больничных листов сотрудников из Т1
Таб№ Начало Окончание
0001 15.01.2012 25.01.2012 сотрудник 1 болел с 15.01.2012 по 25.01.2012
0001 10.05.2012 15.05.2012 сотрудник 1 болел с 10.05.2012 по 15.05.2012
0002 01.02.2012 15.02.2012 и т.д.
...........................................................................
000N 03.10.2012 15.10.2012

--------------------------------------------------------------------------------------------------------------------
Т.е. должно получиться сдедующее:

Таб№ Начало Окончание
0001 01.01.2012 14.01.2012 сотрудник 1 работал с 01.01.2012 по 14.01.2012
0001 15.01.2012 25.01.2012 сотрудник 1 болел с 15.01.2012 по 25.01.2012
0001 26.01.2012 09.05.2012 сотрудник 1 работал с 26.01.2012 по 09.05.2012
0001 10.05.2012 15.05.2012 сотрудник 1 болел с 10.05.2012 по 15.05.2012
0001 16.05.2012 31.12.2012 сотрудник 1 работал с 16.05.2012 по 31.12.2012
0002 01.02.2012 31.01.2012 и т.д.
0002 01.02.2012 15.02.2012
0002 16.02.2012 25.12.2012
..........................................................
000N 01.01.2012 02.10.2012 сотрудник 1 работал с 01.01.2012 по 02.10.2012
000N 03.10.2012 15.10.2012 сотрудник 1 болел с 03.10.2012 по 15.10.2012
000N 16.10.2012 31.12.2012 сотрудник 1 работал 16.10.2012 по 31/12.2012


Вот такая задача. Сейчас понятно?

Последний раз редактировалось elec, 18-03-2013 в 18:47.


Отправлено: 18:38, 18-03-2013 | #4