select 

    e.DATAHORA,
    e.REGISTROSCOLETADOS,
    (e.REGISTROSCOLETADOS - e.CAIXAS) as DIF
    
from(

    select

        c.DATAHORA,
        c.REGISTROSCOLETADOS,
        

    (select count(d.COLETA_ID) from TBCOLETA_DETALHE d where d.COLETA_ID = c.ID) as CAIXAS

    from TBCOLETA c where c.DATA >= '01.01.2017'
) e where (e.REGISTROSCOLETADOS - e.CAIXAS) > 0

order by e.DATAHORA DESC