Hallo,

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

Reageren