связка между двух операций
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
брат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 и поэтому код не сработал праильно  |
|
 |
брат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 и поэтому код не сработал праильно  |
спасибо вам огромное, уменя еще вопросы будут к вам если не возражаете ) |
|
 |
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 и поэтому код не сработал праильно  |
Ой-ой, полегче!
Указывая 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 и поэтому код не сработал праильно  |
Ой-ой, полегче!
Указывая 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. надо другой способ найти  |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|