Query não retorna valores iguais

0 respostas
A

Boa tarde amigos, eu estou executando a consulta abaixo, mas a tabela vlfatura, que possui valores repetidos para o mesmo campo e competência, não está somando os valores repetidos todas as vezes em que eles aparecem, ou seja, a query soma os valores iguais apenas uma vez. Por favor, alguém sabe me dizer o que pode estar errado?

Desde já agradeço!

SELECT ALL competencia, campo, SUM(valor) AS valores FROM

(SELECT ALL vlfatura.competencia AS competencia, vlfatura.cd_campo

AS campo, vlfatura.vl_item AS valor

FROM (((ccobranca INNER JOIN cgrupo ON ccobranca.cd_cobranca = cgrupo.cd_cobranca)

INNER JOIN csgrupo ON cgrupo.cd_grupo = csgrupo.cd_grupo)

INNER JOIN cempresa ON csgrupo.cd_sgrupo = cempresa.cd_sgrupo)

INNER JOIN vlfatura ON cempresa.cd_cadastro = vlfatura.cd_cadastro

WHERE (((ccobranca.cd_unimed)=865) AND ((ccobranca.cd_cobranca)>0)

AND ((cgrupo.cd_grupo)>0) AND ((csgrupo.cd_sgrupo)>0)

AND ((vlfatura.cd_valor)=0 Or (vlfatura.cd_valor)=1)

AND ((vlfatura.competencia) Between 200607 And 200607))

UNION SELECT ALL vlreceita.competencia AS competencia, vlreceita.cd_campo AS campo,

vlreceita.vl_receita AS valor

FROM (((ccobranca INNER JOIN cgrupo ON ccobranca.cd_cobranca=cgrupo.cd_cobranca)

INNER JOIN csgrupo ON cgrupo.cd_grupo=csgrupo.cd_grupo)

INNER JOIN cempresa ON csgrupo.cd_sgrupo=cempresa.cd_sgrupo)

INNER JOIN vlreceita ON cempresa.cd_cadastro=vlreceita.cd_cadastro

WHERE (((ccobranca.cd_unimed)=865) AND ((ccobranca.cd_cobranca)>0)

AND ((cgrupo.cd_grupo)>0) AND ((csgrupo.cd_sgrupo)>0)

AND ((vlreceita.cd_valor)=0 Or (vlreceita.cd_valor)=1)

AND ((vlreceita.competencia) Between 200607 And 200607)))

GROUP BY competencia, campo;

Criado 13 de setembro de 2006
Respostas 0
Participantes 1