maybe this will help you too, dunno:
the 2 queries work perfectly alone, only when using the union, it get the error message...
$overall = "select d.deelnemer_id, d.voornaam, d.familienaam, float8(d.cash) as totaal_waarde
from deelnemers d
where d.deelnemer_id not in (select distinct deelnemer_id from portefeuille)
UNION
select d.deelnemer_id, d.voornaam, d.familienaam, (float8( float8(d.cash)+ sum( float8(p.aantal) * float8(a.waarde)))) as totaal_waarde
from deelnemers d, portefeuille p, aandelen a
where d.deelnemer_id = p.deelnemer_id AND
p.aandeel = a.code AND
d.deelnemer_id in (select distinct deelnemer_id from portefeuille)
group by d.deelnemer_id, d.voornaam, d.familienaam, d.cash