SQL, consulta complicada

Gente como não acho nenhum forum relacionado a discussão sobe SQL, vou pgtar aqui mesmo.

É um dever de casa, mas não estou conseguindo fazer sozinho.

Listar o código, nome, a quantidade de automóveis vendidos e o lucro total por revenda,
para as revendas que tiveram lucro ate R$ 5000,00.

Revenda:
codigo | nome | cidade | estado
--------±----------------±-----------±-------
01 | Paraiso | Sao Paulo | SP
02 | Alameda | Taubate | SP
03 | Cabana | Macae | RJ
04 | Santana | Betim | MG

Automovel:
codigo | fabricante | modelo | ano | pais | preco
--------±-----------±----------------±-----±----------±---------
01 | 01 | Gol | 2000 | Brasil | 25000.00
02 | 01 | Golf | 2005 | Argentina | 39000.00
03 | 04 | Ford Ka | 1990 | Brasil | 15000.00
04 | 03 | Corsa Seda | 1995 | Brasil | 12500.00
05 | 04 | Fiesta | 2003 | Argentina | 20000.00
06 | 03 | Corsa Seda | 1995 | Argentina | 10000.00
07 | 05 | Palio | 2002 | Brasil | 15000.00
08 | 05 | Siena | 2006 | Brasil | 26000.00

Venda:
cliente | revenda | automovel | data | valor
---------±--------±----------±-----------±---------
02 | 01 | 03 | 2010-02-05 | 17500.00
04 | 02 | 01 | 2010-01-07 | 28000.00
01 | 03 | 08 | 2010-02-15 | 28000.00
02 | 03 | 02 | 2010-03-12 | 42000.00
03 | 04 | 06 | 2010-02-06 | 11500.00
03 | 02 | 05 | 2010-01-25 | 22100.00
01 | 01 | 04 | 2010-01-21 | 15500.00
03 | 01 | 08 | 2012-02-05 | 17500.00

O que eu ja consegui fazer, foi:

SELECT automovel.codigo, revenda.nome, COUNT(venda.revenda) AS quantidade, SUM(venda.valor - automovel.preco) AS tot from venda, automovel, revenda
WHERE venda.revenda = revenda.codigo AND automovel.codigo = venda.automovel GROUP BY venda.revenda, automovel.codigo, revenda.nome
HAVING SUM(venda.valor - automovel.preco) <= 5000;

Obrigado, espero que me ajudem.

OBS: Estou utilizando PSQL.

Quando vc diz que precisa listar o codigo, nome , quantidade e lucro…

entendi que seja o codigo da revenda (e não do carro como vc montou a consulta), se eu estiver correto a consulta mais adequada seria:

SELECT revenda.codigo, revenda.nome, COUNT(automovel.preco) AS quantidade, SUM(venda.valor - automovel.preco) AS tot 
from venda, automovel, revenda
WHERE venda.revenda = revenda.codigo AND automovel.codigo = venda.automovel 
GROUP BY revenda.codigo, revenda.nome
HAVING SUM(venda.valor - automovel.preco) <= 5000;

Tenta isso e veja se atende.