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

связка между двух операций

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


Вступление в Клуб: 20.02.2014
СообщениеЧт Фев 20, 2014 20:00   связка между двух операций Ответить с цитатой
Полезность: Нет оценки
помогите плз, надо создать связку между двух операций PLAN_OPER и FACT_OPER в выборке. если не сложно киньте скрипт . за ранее благодарю
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПт Фев 21, 2014 07:30   Re: связка между двух операций Ответить с цитатой
Полезность: Нет оценки
брат666 пишет:
помогите плз, надо создать связку между двух операций PLAN_OPER и FACT_OPER в выборке. если не сложно киньте скрипт . за ранее благодарю


Критерии какие?

Есть массив "Факт.операции к плановым", может это то, что ты ищешь?
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеПт Фев 21, 2014 08:25   Re: связка между двух операций Ответить с цитатой
Полезность: Нет оценки
Random пишет:
брат666 пишет:
помогите плз, надо создать связку между двух операций PLAN_OPER и FACT_OPER в выборке. если не сложно киньте скрипт . за ранее благодарю


Критерии какие?

Есть массив "Факт.операции к плановым", может это то, что ты ищешь?



да, я и об этом хотел спрашивать. вот уменя в "Факт.операции к плановым" че то с датами не то. короче, я хочу через план. операций выйти на факт. опер. и выводить дату факт операций. (дата гашение кредита)
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПт Фев 21, 2014 08:51   Re: связка между двух операций Ответить с цитатой
Полезность: 1
брат666 пишет:
да, я и об этом хотел спрашивать. вот уменя в "Факт.операции к плановым" че то с датами не то. короче, я хочу через план. операций выйти на факт. опер. и выводить дату факт операций. (дата гашение кредита)

Код:

select * from z#pr_cred cr
, z#plan_oper p
, z#FACT_PLAN_OPER fp
, z#fact_oper f

where cr.c_LIST_PLAN_PAY = p.collection_id -- соединение кредитов с плановыми операциями
and fp.collection_id = p.c_fact_opers -- от плановых операций переходим к массиву исполнявших эту операцию фактических
and f.id = fp.c_FACT -- переходим по ссылке к факт.операции


или в терминах PL+:
Код:

select x(

x -- это кредит
, x.[LIST_PLAN_PAY].[SUMMA] -- сумма плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[SUM] -- сумма, которую исполняла факт.операция для плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[FACT].[SUMMA] -- вся сумма факт.операции

) in ::[PR_CRED]
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеПт Фев 21, 2014 10:27   Re: связка между двух операций Ответить с цитатой
Полезность: Нет оценки
Random пишет:
брат666 пишет:
да, я и об этом хотел спрашивать. вот уменя в "Факт.операции к плановым" че то с датами не то. короче, я хочу через план. операций выйти на факт. опер. и выводить дату факт операций. (дата гашение кредита)

Код:

select * from z#pr_cred cr
, z#plan_oper p
, z#FACT_PLAN_OPER fp
, z#fact_oper f

where cr.c_LIST_PLAN_PAY = p.collection_id -- соединение кредитов с плановыми операциями
and fp.collection_id = p.c_fact_opers -- от плановых операций переходим к массиву исполнявших эту операцию фактических
and f.id = fp.c_FACT -- переходим по ссылке к факт.операции


или в терминах PL+:
Код:

select x(

x -- это кредит
, x.[LIST_PLAN_PAY].[SUMMA] -- сумма плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[SUM] -- сумма, которую исполняла факт.операция для плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[FACT].[SUMMA] -- вся сумма факт.операции

) in ::[PR_CRED]




select cr ( cr.[list_plan_pay].fact_opers.fact.date : DT )
in ::[PR_CRED], (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) all
where cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR and fp%collection=p.FACT_OPERS and f=fp.FACT and
f.[OPER].CODE in ('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')

уменя FACT_PLAN_OPER не правильно составлено, ну в смысле даты там не совпадают с FACT_OPER и поэтому код не сработал праильно Crying or Very sad
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеПт Фев 21, 2014 11:35   Re: связка между двух операций Ответить с цитатой
Полезность: Нет оценки
брат666 пишет:
Random пишет:
брат666 пишет:
да, я и об этом хотел спрашивать. вот уменя в "Факт.операции к плановым" че то с датами не то. короче, я хочу через план. операций выйти на факт. опер. и выводить дату факт операций. (дата гашение кредита)

Код:

select * from z#pr_cred cr
, z#plan_oper p
, z#FACT_PLAN_OPER fp
, z#fact_oper f

where cr.c_LIST_PLAN_PAY = p.collection_id -- соединение кредитов с плановыми операциями
and fp.collection_id = p.c_fact_opers -- от плановых операций переходим к массиву исполнявших эту операцию фактических
and f.id = fp.c_FACT -- переходим по ссылке к факт.операции


или в терминах PL+:
Код:

select x(

x -- это кредит
, x.[LIST_PLAN_PAY].[SUMMA] -- сумма плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[SUM] -- сумма, которую исполняла факт.операция для плановой операции
, x.[LIST_PLAN_PAY].[FACT_OPERS].[FACT].[SUMMA] -- вся сумма факт.операции

) in ::[PR_CRED]




select cr ( cr.[list_plan_pay].fact_opers.fact.date : DT )
in ::[PR_CRED], (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) all
where cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR and fp%collection=p.FACT_OPERS and f=fp.FACT and
f.[OPER].CODE in ('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')

уменя FACT_PLAN_OPER не правильно составлено, ну в смысле даты там не совпадают с FACT_OPER и поэтому код не сработал праильно Crying or Very sad



спасибо вам огромное, уменя еще вопросы будут к вам если не возражаете )
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПт Фев 21, 2014 11:56   Re: связка между двух операций Ответить с цитатой
Полезность: 1
брат666 пишет:
select cr ( cr.[list_plan_pay].fact_opers.fact.date : DT )
in ::[PR_CRED], (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) all
where cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR and fp%collection=p.FACT_OPERS and f=fp.FACT and
f.[OPER].CODE in ('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')

уменя FACT_PLAN_OPER не правильно составлено, ну в смысле даты там не совпадают с FACT_OPER и поэтому код не сработал праильно Crying or Very sad


Ой-ой, полегче!
Указывая cr.[list_plan_pay].fact_opers.fact.date : DT ты уже выполнил связку со всеми нужными таблицами, присоединять явно в области in [] уже нет необходимости!
Код:
select  cr (   cr.[list_plan_pay].fact_opers.fact.date           : DT )
             in ::[PR_CRED]
/* это уже лишее
, (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) */

all
where
/* вместо этого нужно написать
cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR  and fp%collection=p.FACT_OPERS and f=fp.FACT and
            f.[OPER].CODE in
*/
cr = p_IdKR
and cr.[list_plan_pay].fact_opers.fact.oper.codе in
('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеПт Фев 21, 2014 13:23   Re: связка между двух операций Ответить с цитатой
Полезность: Нет оценки
Random пишет:
брат666 пишет:
select cr ( cr.[list_plan_pay].fact_opers.fact.date : DT )
in ::[PR_CRED], (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) all
where cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR and fp%collection=p.FACT_OPERS and f=fp.FACT and
f.[OPER].CODE in ('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')

уменя FACT_PLAN_OPER не правильно составлено, ну в смысле даты там не совпадают с FACT_OPER и поэтому код не сработал праильно Crying or Very sad




Ой-ой, полегче!
Указывая cr.[list_plan_pay].fact_opers.fact.date : DT ты уже выполнил связку со всеми нужными таблицами, присоединять явно в области in [] уже нет необходимости!
Код:
select  cr (   cr.[list_plan_pay].fact_opers.fact.date           : DT )
             in ::[PR_CRED]
/* это уже лишее
, (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) */

all
where
/* вместо этого нужно написать
cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR  and fp%collection=p.FACT_OPERS and f=fp.FACT and
            f.[OPER].CODE in
*/
cr = p_IdKR
and cr.[list_plan_pay].fact_opers.fact.oper.codе in
('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112')



Код:
select distinct cr (  f.date      : ct  )
             in ::[PR_CRED], (::[FACT_OPER] all : f), (::[PLAN_OPER] all : p),(::[FACT_PLAN_OPER] all :fp ) all
           where cr.[LIST_PLAN_PAY] = p%collection and cr%id = p_IdKR  and fp%collection=p.FACT_OPERS and f=fp.FACT and
            f.[OPER].CODE in ('GASHENIE_KRED','GASHEN_ZADOLJ_KR','GASH_UCHT_PRC_112') 
            order by f.date


я пробовал обеих, но результата нето. т.е даты FACT_OPER не совпадают датами FACT_PLAN_OPER. надо другой способ найти Rolling Eyes
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Банковская отчетность (оперативная, обязательная, Oracle Reports) Часовой пояс: GMT + 3
Страница 1 из 1

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