Tento dotaz:
select sum(amount)
from aaa
where id not in (select id from bbb);
Vykládá se jako:
select sum(aaa.amount)
from aaa
where aaa.id not in (select aaa.id from bbb);
protože bbb.id
neexistuje. Při psaní SQL doporučuji, abyste vždy používali aliasy tabulek. Dotaz, který jste si mysleli, že píšete:
select sum(aaa.amount)
from aaa
where aaa.id not in (select bbb.id from bbb);
způsobí chybu, kterou očekáváte.