Miro, boa tarde!
tente assim:
select c.apeemp, a.numcad, a.nomfun, sum(b.qtdsld) as saldo from r034fun a, r040per b, r030emp c
where a.numemp = b.numemp
and a.tipcol = b.tipcol
and a.numcad = b.numcad
and a.numemp = c.numemp
and b.numemp = c.numemp
and a.numemp in (2)
and a.tipcol = 1
and a.sitafa not in (3,4,5,6,45,46,47,50,54,8,7)
and b.sitper = 0
group by c.apeemp, a.numcad, a.nomfun
HAVING SUM(B.QTDSLD) >= 10
Quando tem GROUP BY e quiser usar os campos de soma, avg, max, min…etc.. (funções de grupo) para “filtrar” o resultado do SELECT deve-se usar o HAVING. Este HAVING é basicamente a mesma coisa do WHERE, porém, apenas para os campos que tem a função de grupo.
Att,
Leandro Rocha