Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Из двух таблиц соорудить третью  [new]
Sol.O
Member

Откуда:
Сообщений: 2
Люди добрые, подсобите пожалуйста неофиту. :)
Необходимо на основании данных двух таблиц средствами SQL соорудить третью.

Например:

Таблица-1

create table #tbl1 ( nr int, FDt date, TDt date, gr int )
insert into #tbl1 
select 1, convert(date, '01.01.2004', 105), convert(date, '31.12.9999', 105), 2
union
select 2, convert(date, '01.11.2009', 105), convert(date, '14.02.2010', 105), 2
union
select 2, convert(date, '15.02.2010', 105), convert(date, '31.12.9999', 105), 2 


Таблица-2

create table #tbl2 ( nr int, FDt date, TDt date, k int )

insert into #tbl2 
select 1, convert(date, '01.04.2008', 105), convert(date, '31.12.9999', 105), 2379
union
select 2, convert(date, '01.11.2009', 105), convert(date, '14.03.2010', 105), 2379
union
select 2, convert(date, '15.01.2012', 105), convert(date, '31.12.9999', 105), 2379


А в итоге надо получить такую таблицу:
http://savepic.org/3501195.jpg

Премного благодарствую!
15 май 13, 00:32    [14296354]     Ответить | Цитировать Сообщить модератору
 Re: Из двух таблиц соорудить третью  [new]
Crimzic
Member

Откуда: Sydney
Сообщений: 59
Sol.O,

А по какому принципу нужно сооружать новую таблицу?
15 май 13, 07:00    [14296654]     Ответить | Цитировать Сообщить модератору
 Re: Из двух таблиц соорудить третью  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
select *, null as k from #tbl1
union all
select nr, FDt, TDt, null, k from #tbl2
15 май 13, 07:19    [14296661]     Ответить | Цитировать Сообщить модератору
 Re: Из двух таблиц соорудить третью  [new]
Sol.O
Member

Откуда:
Сообщений: 2
Crimzic
Sol.O,
А по какому принципу нужно сооружать новую таблицу?


Изменения параметра "k" из второй таблицы для значений "nr в течении времени.

Причем с учетом временных отрезков и в первой таблице.

Т.е. Nr=1 из первой таблицы "действителен" с 01.01.2004 по 31.12.9999 и в этом промежутке для него существует два значения "k" из второй таблицы: c 01.01.2004 по 31.03.2008 - NULL, а уже с 01.04.2008 и по 31.12.9999 - 2379.

Как следствие в итоговой таблице должно появиться две записи с оными временными интервалами....

Knyazev Alexey
Sol.O,
А по какому принципу нужно сооружать новую таблицу?

Ммм....Не то....
15 май 13, 09:08    [14296818]     Ответить | Цитировать Сообщить модератору
 Re: Из двух таблиц соорудить третью  [new]
STsarionov
Member

Откуда:
Сообщений: 105
последние 2 строчки(на картинке) в плане дат, у вас не соответствуют исходным данным, либо я что-то недопонял. Можно уточнить?
15 май 13, 09:52    [14296976]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить