SELECT
r.id,
r.m_y_report,
r.service_type,
r."version" AS formed_at,
COUNT(rd.id) AS detail_rows,
COUNT(rd.id) FILTER (
WHERE rd.sum_dt_pu IS NOT NULL
OR rd.sum_ct_pu IS NOT NULL
) AS rows_with_pu,
COUNT(rd.id) FILTER (
WHERE rd.sum_dt_bu IS NOT NULL
OR rd.sum_ct_bu IS NOT NULL
) AS rows_with_bu,
COUNT(rd.id) FILTER (
WHERE rd.uidpensionscheme IS NULL
) AS rows_without_scheme_uid
FROM back_office.report_conformity_pu_bu r
LEFT JOIN back_office.report_conformity_pu_bu_detail rd
ON rd.report_conformity_pu_bu_id = r.id
WHERE r.id = 39
GROUP BY
r.id,
r.m_y_report,
r.service_type,
r."version";