select concat(CUIT,';',PtoVta,';',cco_Nro,';;',cast(GananciasMonto as numeric(10,2)),';',cast(IngresosBrutosMonto as numeric(10,2)),';;',OPNumero,';')
from (
select CUIT,cast(cco_CodPvt as integer) as PtoVta, cast(cco_Nro as integer) as cco_Nro, GananciasMonto, isnull(IIBBMonto,0)+isnull(IBTMonto,0) as IngresosBrutosMonto, cast(OPNumero as integer) as OPNumero
from
(SELECT DISTINCT TablaFacturas.cco_Letra, TablaFacturas.cco_CodPvt, TablaFacturas.cco_Nro, TablaFacturas.ccotco_Cod as Codigo, TablaFacturas.ccopro_CUIT as CUIT,
TablaFacturas.cco_ImpMonEmis as Monto,
TablaFacturas.cco_Nro as Numero, TablaOP.cco_ImpMonEmis as OPMonto,
TablaOP.cco_Nro as OPNumero, TablaGananciasUnida.cco_ImpMonEmis as GananciasMonto,
TablaIIBBUnida.cco_ImpMonEmis as IIBBMonto, TablaIBTUnida.cco_ImpMonEmis as IBTMonto
FROM (SELECT TOP 5000 cco_ID, ccotco_Cod, cco_Letra, cco_Nro, cco_CodPvt, cco_ImpMonEmis, ccopro_CUIT FROM CabCompra WHERE ccotco_Cod='FC' AND cco_Letra IS NOT NULL AND cco_CodPvt IS NOT NULL ORDER BY cco_ID DESC) as TablaFacturas
LEFT JOIN (SELECT DISTINCT TOP 5000 rcccco_IDCol1 as FacId, rcccco_IDCol3 as OpId FROM RelCompCpr ORDER BY rcccco_IDCol3 DESC) as RelacionFcOP ON TablaFacturas.cco_ID=RelacionFcOP.FacId
LEFT JOIN (SELECT TOP 5000 cco_ID, cco_ImpMonEmis, cco_Nro FROM CabCompra WHERE CabCompra.ccotco_Cod='OP' ORDER BY cco_ID DESC) as TablaOP ON TablaOP.cco_ID=RelacionFcOP.OpId
LEFT JOIN (select TablaGanancias.*, RelCompCpr.rcccco_IDCol3 FROM (SELECT TOP 5000 cco_ID, cco_ImpMonEmis FROM CabCompra WHERE CabCompra.ccotco_Cod='CG' ORDER BY cco_ID DESC) TablaGanancias LEFT JOIN RelCompCpr on TablaGanancias.cco_ID=RelCompCpr.rcccco_IDCol2) as TablaGananciasUnida ON TablaGananciasUnida.rcccco_IDCol3=RelacionFcOP.OpId
LEFT JOIN (select TablaIIBB.*, RelCompCpr.rcccco_IDCol3 FROM (SELECT TOP 5000 cco_ID, cco_ImpMonEmis FROM CabCompra WHERE CabCompra.ccotco_Cod='CIB' ORDER BY cco_ID DESC) as TablaIIBB LEFT JOIN RelCompCpr on TablaIIBB.cco_ID=RelCompCpr.rcccco_IDCol2) as TablaIIBBUnida ON TablaIIBBUnida.rcccco_IDCol3=RelacionFcOP.OpId
LEFT JOIN (select TablaIIBBTuc.*,RelCompCpr.rcccco_IDCol3 FROM (SELECT TOP 5000 cco_ID, cco_ImpMonEmis FROM CabCompra WHERE CabCompra.ccotco_Cod='IBT' ORDER BY cco_ID DESC) TablaIIBBTuc LEFT JOIN RelCompCpr on TablaIIBBTuc.cco_ID=RelCompCpr.rcccco_IDCol2) as TablaIBTUnida ON TablaIBTUnida.rcccco_IDCol3=RelacionFcOP.OpId
WHERE 1=1
AND TablaOP.cco_ID IS NOT NULL) as pa
) as pa2