Boa noite
Preciso realizar uma consulta entre 3 tabelas com relacionamento OneToMany usando o “new” e nessa consulta retornar um “sum”, porém a consulta retorna com duplicações.
SELECT DISTINCT new CategoriaDespesaGeral(
c.descricao,
SUM(CAST(d.valorDespesaGeral AS float))
)
FROM
CategoriaDespesaGeral c
LEFT JOIN c.listaDespesaGeral d
LEFT JOIN d.listaParcelamentoDG pdg
WHERE
dataPagto BETWEEN :dataIni AND :dataFin
AND c.descricao LIKE :categoriaDespesaGeral
HAVING
sum(pdg.valorPago) = cast(d.valorDespesaGeral as float)
ORDER BY
c.descricao
O que acontece é que o “sum” acaba somando valores duplicados em alguns registros, pelo que vi dependendo do número de registros existentes na tabela pdg.
Alguém sabe o que como corrijo isso?
Att.