select --install siv.dt_from ,siv.dt_to ,a.probability_perc ,a.agreement_version ,a.is_actual ,(siv.price*siv.quantity) as install ,siv0.dt_from as dt_from_prev ,siv0.dt_to as dt_to_prev ,a0.probability_perc as probability_perc_prev ,a0.agreement_version as agreement_version_prev ,a0.is_actual as is_actual_prev ,(siv0.price*siv0.quantity) as install_prev ,0 as recurring ,0 as recurring_prev ,svc.svc ,siv.quantity ,siv.price ,s.specification ,s.contract_id ,d.contract ,d.dt_contract ,k.contragent from specification_item_version siv /*on (dayscale.dt=siv.dt_from)*/ join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (1)) join specification s on (si.specification_id=s.specification_id) join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) where iiv.specification_item_uid=si.specification_item_uid --AND ia.is_actual )) join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) where iiv.specification_item_uid=si.specification_item_uid AND ia.agreement_version < a.agreement_version AND ia.is_actual )) left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid AND siv0.agreement_version=a0.agreement_version) where 1=1 union all --fix and payg select siv.dt_from ,siv.dt_to ,a.probability_perc ,a.agreement_version ,a.is_actual ,0 ,siv0.dt_from ,siv0.dt_to ,a0.probability_perc ,a0.agreement_version ,a0.is_actual ,0 ,siv.price*siv.quantity ,siv0.price*siv0.quantity ,svc.svc ,siv.quantity ,siv.price ,s.specification ,s.contract_id ,d.contract ,d.dt_contract ,k.contragent from specification_item_version siv /*on (dayscale.dt >= siv.dt_from AND (siv.dt_to >= dayscale.dt OR siv.dt_to IS NULL))*/ join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (2,3)) join specification s on (si.specification_id=s.specification_id ) join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) where iiv.specification_item_uid=si.specification_item_uid --AND ia.is_actual )) join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) where iiv.specification_item_uid=si.specification_item_uid AND ia.agreement_version < a.agreement_version AND ia.is_actual )) left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid AND siv0.agreement_version=a0.agreement_version) where 1=1 order by 1 Актуальные версии, развернутые во времени
#qRead.recordCount# записей
Дни и месяцы с нулевой суммой не показаны
Дата c Дата по Вер-ть v Инсталл Ежемес Дата c пред. Дата по пред. Вер-ть пред. v Инсталл пред. Ежемес пред. Услуга Кол-во Цена Спецификация Договор Дата договора Клиент
#dateFormat(dt_from,"DD.MM.YYYY")# #dateFormat(dt_to,"DD.MM.YYYY")# #probability_perc# #agreement_version# #_nFmt(install)# #_nFmt(recurring)# #dateFormat(dt_from_prev,"DD.MM.YYYY")# #dateFormat(dt_to_prev,"DD.MM.YYYY")# #probability_perc_prev# #agreement_version_prev# #_nFmt(install_prev)# #_nFmt(recurring_prev)# #svc# #quantity# #_nFmt(price)# #specification# #contract# #dateFormat(dt_contract,'DD.MM.YYYY')# #contragent#