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

Откуда:
Сообщений: 1497
Есть табличка с данными по реструктуризованным кредитам (это когда один кредит берется, чтобы погасить задолженность по другому)

create table #kredit_table
(
Кредит_ID int,
Дата_Открытия date,
Дата_Закрытия date,
Первичный_Кредит int
)

insert into #kredit_table
select 77,'2011-01-01','2011-12-01',null union all
select 88,'2012-01-01',null,null union all
select 101,'2013-01-01','2013-05-01',null union all
select 102,'2013-05-01','2013-10-01',101 union all
select 103,'2013-10-02',null,102


Никак не могу найти решение, чтобы отобрать только кредиты, участвовавшие в реструктуризации.
То есть нужно дополнительное поле - "участие в реструктуризации" (1,0).
Полагаю что тут должна быть рекурсия. Прошу помочь!

В приложенном скрине пример:
Кредиты 77 и 88 не участвовали в реструктуризации, а остальные - да.
Тоесть кредит 102 был взять на погашение кредита 101, кредит 103 - на погашение 102.

К сообщению приложен файл. Размер - 24Kb
27 фев 14, 07:00    [15637134]     Ответить | Цитировать Сообщить модератору
 Re: Простая рекурсия. Завис  [new]
Добрый Э - Эх
Guest
select * 
  from #kredit_table t0
 where Первичный_Кредит is null 
   and not exists(select null from #kredit_table t1 where t0.Кредит_ID = t1.Первичный_Кредит)
27 фев 14, 07:06    [15637135]     Ответить | Цитировать Сообщить модератору
 Re: Простая рекурсия. Завис  [new]
Santa89
Member

Откуда:
Сообщений: 1497
Добрый Э - Эх, спасибо!
27 фев 14, 07:29    [15637156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить