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

Responder a