Será que não dá para fazer tudo só com base na tabela elementos? é que 
lá tenho os números de rua, dos passeios e orçamento...acho que nem é 
preciso um join...
experimentei com esta sql mas da o mesmo resultado:


SELECT elementos.eixos_r, COUNT(*)
FROM elementos
GROUP BY elementos.eixos_r
HAVING SUM(elementos.orcamento) > 0;

obrigado

Com os melhores cumprimentos,

Pedro Costa
Geógrafo
Especializado em Sistemas de Informação Geográfica e Ordenamento do Território



Em 16-09-2011 19:09, Pedro Costa 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
>
> Com os melhores cumprimentos,
>
> Pedro Costa
> Geógrafo
> Especializado em Sistemas de Informação Geográfica e Ordenamento do 
> Território
>
>
>
> Em 16-09-2011 17:59, Osvaldo Kussama escreveu:
>> Em 16 de setembro de 2011 11:03, Osvaldo Kussama
>> <[email protected]>  escreveu:
>>> Em 16/09/11, Pedro Costa<[email protected]>  escreveu:
>>>> Amigos alguém pode dar uma ajuda no seguinte:
>>>>
>>>> Eu tenho uma base com três tabelas: elementos, passeios, e ruas.
>>>> Na tabela elementos tenho o campo orçamento, n_passeio (número do
>>>> passeio a que pertence o elemento), e n_rua(rua a que pertence o 
>>>> passeio
>>>> e elemento). Um passeio pode ter vários elementos. O que pretendia 
>>>> era o
>>>> seguinte:
>>>>
>>>> exemplo:
>>>>
>>>> n_rua    |  
>>>> contagem_de_passeios_com_elementos_com_orçamento_maior_que_0
>>>>
>>>>
>>>> Eu quero uma expressão sql que diga, por rua, o número de passeios que
>>>> têm a soma dos orçamentos dos elementos maior que 0... Ou seja é
>>>> necessária a soma dos orçamentos de cada elemento por passeio e depois
>>>> fazer a contagem por rua..
>>>>
>>>
>>> Tente:
>>> SELECT ruas.n_rua, COUNT(*)
>>>   FROM ruas INNER JOIN passeios ON (ruas.n_rua = passeios.n_rua)
>>>   INNER JOIN elementos ON (passeios.n_passeio = elementos.n_passeio)
>>>   GROUP BY ruas.n_rua
>>>   HAVING elementos.orcamento>  0;
>>>
>>> Osvaldo
>>>
>> Ops!
>> ...
>> HAVING SUM(elementos.orcamento)>  0;
>>
>> Osvaldo
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a