select u.nm_usuario nome, sum(c.vl_compra) total from usuarios u, compras c where u.cd_usuario = c.cd_usuario and u.cd_usuario = 3 and c.tipo = 'D' group by u.nm_usuario
Mas quando não existe compras com o tipo definido, o select não retorna nada. Eu precisava que ele retornasse zero, nulo ou algo do tipo.