select
a.abstract_service_idg.area_codeg.areag.area_enu.statusu.status_ena.codea.abstract_servicea.abstract_service_enm.measure_shortm.measure_short_en(select count(*) from abstract_service_provider sp where sp.abstract_service_id=a.abstract_service_id) as provider_count
CAST(
(
select coalesce(p.provider,'') as provider /*null does not produce an attribute*/
from abstract_service_provider sp
join provider p on (sp.provider_id=p.provider_id)
where sp.abstract_service_id=a.abstract_service_id
FOR XML AUTO, TYPE, ROOT('providers')
)
AS VARCHAR(MAX))
as providers
CAST(
(
select coalesce(p.provider_en, '') as provider /*NB!*/
from abstract_service_provider sp
join provider p on (sp.provider_id=p.provider_id)
where sp.abstract_service_id=a.abstract_service_id
FOR XML AUTO, TYPE, ROOT('providers')
)
AS VARCHAR(MAX))
as providers_en
p.payment_periodicityp.payment_periodicity_enb.budget_codeb.budgetb.budget_enst.service_typest.service_type_enmc.modifier_class(select count(*) from service s where s.abstract_service_id=a.abstract_service_id) as service_count(select count(*) from abstract_service_doc d where d.abstract_service_id=a.abstract_service_id) as doc_count
CAST(
(
select abstract_service_doc_id, abstract_service_doc, fname, contenttype, dt_created
from abstract_service_doc d
where d.abstract_service_id=a.abstract_service_id
FOR XML AUTO, TYPE, ROOT('docs')
)
AS VARCHAR(MAX))
as docs
from abstract_service a
join service_type st on (a.service_type_id=st.service_type_id)
join status u on (a.status_id=u.status_id)
left outer join modifier_class mc on (a.modifier_class_id=mc.modifier_class_id)
left outer join area g on (a.area_id=g.area_id)
left outer join budget b on (a.budget_id=b.budget_id)
left outer join measure m on (a.measure_id=m.measure_id)
left outer join payment_periodicity p on (b.payment_periodicity_id=p.payment_periodicity_id)
where 1=1
order by
select count(*) as cnt from abstract_service where 1=1
#i18("Каталог","Catalog")#