Ik zit met een probleem met een SUM() opdracht waar min-waarden tussen zitten.
de ge-SUM-de waarde is een DECIMAL
De code:
$query = 'SELECT SUM(bedrag) AS som FROM verkoop WHERE btwcode_code = '.mysql_real_escape_string($btwcodes['Hoog'][0]).' AND basisgegevens_id = '.mysql_real_escape_string($_SESSION['beheerder']['basisgegevens_id']).' GROUP BY datum';
$q_exec = mysql_query($query);
if (mysql_num_rows($q_exec) > 0)
{
$row = mysql_fetch_object($q_exec);
$btw_hoog = $row->som - ($row->som / (1 + $btwcodes['Hoog'][1]));
echo $row->som.'<br /><br />';
}
else
{
$btw_hoog = 0;
}
Er zitten 67 positieve waarden in de Database.
1 waarde is -36.00.
Het resultaat van de SUM is -36.00 ...
Hoe kan dit? Typecasting probleem? Zat eerder ook al meet een probleem dat ik dit moest gebruiken:
CAST('.$order.' AS SIGNED)
om de database duidelijk te maken dat ik een INT wil om ORDER BY te doen. Ik kreeg bijv. dan 1 10 11 12 13. En pas nadat ik CAST-te was het netjes 1 2 3 4 5 6 7 8 9 10 11.
Enig idee waarom SUM fout gaat?
Bvd