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
