some additions
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
--show work_mem;
|
||||
--explain (analyze, verbose, buffers)
|
||||
-- компоненты можно преагрегировать
|
||||
select dayscale.dt, w.siv_uid, line_key
|
||||
--,sum (c.cost/dayscale.monthdays)
|
||||
--, count(*)
|
||||
--w.line_key, w.dt_from, w.dt_to, w.line_version, w.agreement_version, w.deal_status_id, w.contract, w.probability_pc
|
||||
from
|
||||
elma.mv_dt dayscale
|
||||
left outer join
|
||||
(select * from elma.mv_line i where ) w on dayscale.dt >= w.dt_from
|
||||
|
||||
elma.mv_line w on (dayscale.dt >= w.dt_from AND w.siv_uid =
|
||||
(select siv_uid from elma.mv_line i
|
||||
where i.line_key = w.line_key AND dayscale.dt >= i.dt_from
|
||||
order by line_version desc, agreement_version desc limit 1)
|
||||
)
|
||||
--join elma.mv_component c on (w.siv_uid=c.siv_uid)
|
||||
--left outer join elma.mv_line b on
|
||||
--(w.line_key = b.line_key AND dayscale.dt >= b.dt_from
|
||||
--AND b.agreement_version = (select max(agreement_version) from elma.mv_line i where i.line_key = w.line_key AND dayscale.dt >= i.dt_from AND (w.agreement_version>i.agreement_version OR w.agreement_version IS NULL)))
|
||||
|
||||
where dayscale.dt between '2025-01-01' AND '2025-01-10'
|
||||
--AND w.line_key='20241009T112450304'
|
||||
--AND b.deal_status_id IN ('5','6')
|
||||
--group by dayscale.dt
|
||||
order by dayscale.dt
|
||||
--limit 100
|
||||
Reference in New Issue
Block a user