Testei aqui com dados e tudo (achei interessante como desafio :), parece ter resultado exatamente como descreveu:
--te = tabela externa --ti = tabela interna SELECT cod_instituicao, (SELECT sum(total) FROM tabela ti WHERE tipo='p' AND te.cod_instituicao=ti.cod_instituicao) as soma_p, (SELECT sum(total) FROM tabela ti WHERE tipo='c' AND te.cod_instituicao=ti.cod_instituicao) as soma_c, (SELECT sum(total) FROM tabela ti WHERE tipo='s' AND te.cod_instituicao=ti.cod_instituicao) as soma_s FROM tabela te GROUP BY cod_instituicao Devem haver outras, até mais concisas, aliás... se alguém souber outra, envie o exemplo aí até para compartilharmos conhecimento dessas consultas não tão triviais. Ficou meio maluca a consulta, mas essa é uma das coisas que me faz adorar o PG, praticamente qualquer coisa que se imaginar dentro das regras do SQL, ele suporta. :) Flávio, dá um retorno se essa serviu, ou se achou alguma outra forma. Abraço. On 5/10/07, Flávio Alves Granato <[EMAIL PROTECTED]> wrote:
alguém poderia me ajudar com uma luz no caminho para eu desenvolver um sql? É o seguinte. tenho uma tabela com | cod | tipo | cod_instituicao | cod_proj | total | p c s e eu gostaria que retornasse | cod_instituicao | soma do total de p | soma do total de c | soma do total de s |
SELECT cod_instituicao, sum(p) FROM <tabela> GROUP BY cod_instituicao _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral