Em 16 de setembro de 2011 15:09, Pedro Costa <[email protected]> escreveu:
> Pessoal obrigado por ajudarem, fiz assim:
>
> SELECT e_ruas.eixos_rua, COUNT(*)
> FROM (e_ruas INNER JOIN passeios ON e_ruas.Eixos_rua =
> passeios.eixos_rua) INNER JOIN elementos ON passeios.FID =
> elementos.passeios
> GROUP BY e_ruas.eixos_rua
> HAVING SUM(elementos.orcamento) > 0;
>
>
> No entanto não resulta uma vez que um passeio pode ter vários elementos
> (e em muitos casos tem) e isso faz com que devolva um número por cada
> elemento com orçamento maior que 0 e eu quero por passeio...
>
> Alguém tem alguma ideia como superar o erro?
> obrigado
>


Caso eu tenha entendido corretamente seu problema, tente:

SELECT e_ruas.eixos_rua, COUNT(*)
FROM (e_ruas INNER JOIN passeios ON e_ruas.Eixos_rua =
passeios.eixos_rua)
WHERE EXISTS (SELECT passeios.eixos_rua, SUM(elementos.orcamento) FROM passeios
        INNER JOIN elementos ON passeios.FID = elementos.passeios
        GROUP BY passeios.eixos_rua
        HAVING SUM(elementos.orcamento) > 0))
GROUP BY e_ruas.eixos_rua;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a