Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- *
- FROM (
- WITH total_fact_cost_of_work_data (financing_request_id, total_fact_cost_of_work) AS (
- SELECT
- fr.id,
- SUM(aoow.total_fact_cost_of_work)
- FROM fin_requests fr
- JOIN monitoring_report_requests_relations mrrr ON fr.id = mrrr.fin_request_id
- LEFT JOIN overhaul_works_by_contracts owbc ON fr.id = owbc.financing_request_id
- LEFT JOIN acts_on_overhaul_works aoow ON owbc.id = aoow.contract_id
- WHERE
- mrrr.monitoring_report_docs_id = :document_id
- AND owbc.deleted_at IS NULL
- AND aoow.deleted_at IS NULL
- GROUP BY fr.id
- ),
- ntw_overhaul_cost_total_data (financing_request_id, ntw_overhaul_cost_total) AS (
- SELECT
- fr.id,
- SUM(frhkb.ntw_overhaul_cost_total)
- FROM fin_requests fr
- JOIN monitoring_report_requests_relations mrrr ON fr.id = mrrr.fin_request_id
- LEFT JOIN fin_requests_houses_base frhb ON fr.id = frhb.financing_request_id
- LEFT JOIN fin_requests_houses_kr_base frhkb ON frhb.id = frhkb.id
- WHERE
- mrrr.monitoring_report_docs_id = :document_id
- AND frhb.deleted_at IS NULL
- GROUP BY fr.id
- )
- SELECT
- fr.id,
- fr.geo_tag_id,
- fr.request_id,
- 'Заявка' AS request_type_name,
- fr.registration_number,
- fr.approval_date,
- tfcowd.total_fact_cost_of_work AS fact_amount_of_overhaul_financing,
- CASE WHEN noctd.ntw_overhaul_cost_total <> 0 THEN
- ROUND(tfcowd.total_fact_cost_of_work / noctd.ntw_overhaul_cost_total * 100, 2)
- END AS percent
- FROM fin_requests fr
- JOIN monitoring_report_requests_relations mrrr ON fr.id = mrrr.fin_request_id
- JOIN total_fact_cost_of_work_data tfcowd ON fr.id = tfcowd.financing_request_id
- JOIN ntw_overhaul_cost_total_data noctd ON fr.id = noctd.financing_request_id
- WHERE mrrr.monitoring_report_docs_id = :document_id
- ) t
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement