CftClub.ru
Клуб специалистов ЦФТ-Банк

Все даты изменения гр. риска кредита

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеСб Ноя 07, 2009 14:08   Все даты изменения гр. риска кредита Ответить с цитатой
Полезность: Нет оценки
Коллеги, время суток доброе.. подскажите советом что-то соображалка уже устала Sad
есть дата начала периода, есть дата окончания периода. Необходимо выбрать все даты, в нутри этого периоду, в которых Гр. риска менялась

Код:

   SELECT DISTINCT FIND_DATA(FIND_DATA.[DATA]) IN
   (
      -- выбираем изменение Гр. риска по клиенту
      SELECT MY_DATA(MY_DATA.[DATE_START] : DATA) IN IDCRED.[CLIENT].[GR_RISK_HIST]
      UNION
      SELECT MY_DATA(NVL(MY_DATA.[DATE_END], TO_DATE('31/12/2100','DD/MM/YYYY')) : DATA) IN IDCRED.[CLIENT].[GR_RISK_HIST]
      UNION
      -- выбираем изменение Гр. риска по портфелю если КД. был в ПОС на дату изменения
      SELECT MY_DATA(GR_RISK.[DATE_START] : DATA)
          IN ::[SIM_LOAN_PORT], (::[CRED_IN_PORT] ALL : CRED_IN_PORT), (::[CR_RISK_GR] ALL : GR_RISK)
       WHERE CRED_IN_PORT%COLLECTION = MY_DATA.[CREDITS]
           AND CRED_IN_PORT.[PR_CRED] = IDCRED
         AND GR_RISK%COLLECTION = MY_DATA.[GR_RISK_HIST]
         AND GR_RISK.[DATE_START] >= DATA_START_REP
         AND GR_RISK.[DATE_START] <= DATA_END_REP
         AND ::[SIM_LOAN_PORT].[LIB].GetPortByCred(IDCRED, GR_RISK.[DATE_START]) = MY_DATA%ID
      UNION
      SELECT MY_DATA(GR_RISK.[DATE_END] : DATA)
          IN ::[SIM_LOAN_PORT], (::[CRED_IN_PORT] ALL : CRED_IN_PORT), (::[CR_RISK_GR] ALL : GR_RISK)
        WHERE CRED_IN_PORT%COLLECTION = MY_DATA.[CREDITS]
         AND CRED_IN_PORT.[PR_CRED] = IDCRED
         AND GR_RISK%COLLECTION = MY_DATA.[GR_RISK_HIST]
         AND GR_RISK.[DATE_END] >= DATA_START_REP
         AND GR_RISK.[DATE_END] <= DATA_END_REP
         AND ::[SIM_LOAN_PORT].[LIB].GetPortByCred(IDCRED, GR_RISK.[DATE_END]) = MY_DATA%ID
   )   
   WHERE FIND_DATA.[DATA] >= DATA_START_REP
   AND FIND_DATA.[DATA] <= DATA_END_REP
   ORDER BY FIND_DATA.[DATA]
   INTO TABLE_DATA;


вроде бы все красиво... но думаю не будет ли избыточным такая выборка.... нужны ли даты окончания действия гр риска в селекте ? если их выкинуть по получиться кода ровно в 2 раза меньше... чот я туплю сижу, сначала написал а теперь гадаю....
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеВс Ноя 08, 2009 08:54    Ответить с цитатой
Полезность: Нет оценки
надо, надо.... к примеру % резерва в клиенте на 01.01. - 10%, 01.02 - кредит входит в ПОС - под 20%.. и 01.03 - выходит из ПОС... причем : резерва в клиенте не изменяется....
01.01 - учетная - 10%
01.02 - учетная - 20%
01.03 - учетная - 10%
соответственно если дату окончания не брать изменения % резерва на 01.03 мы не увидим
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru