select
k.__id::text as __id
k.__index
k.__name
k.id_klienta as wz
c.__name as responsible
c.email as responsible_email
c.__status_status as responsible_status
k."__createdAt" as __createdAt
k."__updatedAt" as __updatedAt
k."__deletedAt" as __deletedAt
COALESCE(dc.deal_cnt, 0) AS deal_cnt
COALESCE(cc.contract_cnt, 0) AS contract_cnt
COALESCE(aac.aa_cnt, 0) AS aa_cnt
from elma.companies k
LEFT OUTER JOIN elma.comp_users_ext c on (k.responsible=c.__id)
LEFT JOIN (
SELECT _companies AS company_id, count(*) AS deal_cnt
FROM elma.deals
GROUP BY _companies
) dc ON dc.company_id = k.__id
-- Считаем договоры
LEFT JOIN (
SELECT company_uid, count(*) AS contract_cnt
FROM elma.aggrements
GROUP BY company_uid
) cc ON cc.company_uid = k.__id
-- Считаем доп. соглашения
LEFT JOIN (
SELECT d.company_uid, count(*) AS aa_cnt
FROM elma.additional_agreements g
JOIN elma.aggrements d ON g.contract_uid = d.__id
GROUP BY d.company_uid
) aac ON aac.company_uid = k.__id
where 1=1
--AND exists (select * from elma.deals d where d._companies=k.__id)
order by
select count(*) as cnt from elma.companies where 1=1
Контрагенты
#__name#
#gridFooter#