select
s.service_ids.abstract_service_ida.abstract_serviceCONCAT_WS(' - ', a.abstract_service, m.modifier) as serviceg.analytic_codeg.areag.area_codea.code as abstract_service_codem.code as modifier_codec.modifier_classc.modifier_class_idm.modifierm.modifier_ids.manager_idu.loginu.firstnameu.middlenameu.lastnameu.emails.descrs.commercial_notes.is_internala.status_idst.statuss.measure_idn.measures.vat_percs.vat_free(select count(*) from service_param sp where sp.service_id=s.service_id) as param_count(select count(*) from abstract_service_param_class ac where ac.abstract_service_id=a.abstract_service_id) as abstract_param_count
from service s
join abstract_service a on (s.abstract_service_id=a.abstract_service_id)
left outer join modifier m on (s.modifier_id=m.modifier_id)
left outer join modifier_class c on (a.modifier_class_id=c.modifier_class_id)
left outer join area g on (a.area_id=g.area_id)
left outer join status st on (s.status_id=st.status_id)
left outer join measure n on (s.measure_id=n.measure_id)
left outer join usr u on (s.manager_id=u.usr_id)
where 1=1
order by
select count(*) as cnt from service where 1=1
Варианты услуг (список конкретных услуг с характеристиками)