0
I have two tables, titlospagar and titlosavulsos and in both I have the field scoreMotorista and I would like to add up the values of each
I would like to do a query, gathering their data in a certain time, giving GROUP BY in placaMotorista.
I made the following two queries, but the values return wrong (too big for each plate).
SELECT SUM(a.valorTitulo) AS geralPlaca, SUM(b.valorTitulo) AS manutencaoPlaca, b.placaMotoristaTitulo AS placa
FROM titulospagar a, titulosavulsos b
WHERE a.dataVencimentoTitulo BETWEEN '$dataDe' AND '$dataAte' && b.dataTitulo BETWEEN '$dataDe' AND '$dataAte' && a.placaMotoristaTitulo = b.placaMotoristaTitulo && b.placaMotoristaTitulo != 'Nenhum'
GROUP BY a.placaMotoristaTitulo, b.placaMotoristaTitulo
ORDER BY a.placaMotoristaTitulo ASC, b.placaMotoristaTitulo ASC
SELECT SUM(titulospagar.valorTitulo) AS geralPlaca, SUM(titulosavulsos.valorTitulo) AS manutencaoPlaca, titulospagar.placaMotoristaTitulo AS placa
FROM titulospagar INNER JOIN titulosavulsos ON titulospagar.placaMotoristaTitulo != 'Nenhum' && titulospagar.placaMotoristaTitulo = titulosavulsos.placaMotoristaTitulo && titulospagar.dataVencimentoTitulo BETWEEN '$dataDe' AND '$dataAte' && titulosavulsos.dataTitulo BETWEEN '$dataDe' AND '$dataAte'
GROUP BY titulospagar.placaMotoristaTitulo, titulosavulsos.placaMotoristaTitulo
ORDER BY titulospagar.placaMotoristaTitulo ASC
In both returns the same value for each board, but the return value is wrong.
Sqlfiddle link, demonstrating the problem: LINK
If anyone can help me, I’d appreciate it!!
I think you should specify each field with equal columns before for example a.valorTitulo AS value1....
– brunox99x
I specify direct with the SUM, I can not specify direct field, because I want to sum the whole period
– AnthonyKamers