Na realidade as tabelas possuem bem mais campos, que não são todos usados pro contrato, embora a situação atual retorne todos. Então o que preciso das tabelas ficaria assim:

ALUNOS:
- ID_ALUNO, NOME_ALUNO, ENDEREÇO_ALUNO, NASCIMENTO_ALUNO, CODINTERNO_ALUNO, RESPFINAN_ALUNO.

RESPONSAVEL1:
- ID_R1, NOME_R1, ENDEREÇO_R1, CPF_R1, RG_R1, FONE_R1, UF_R1.

RESPONSAVEL2:
- ID_R2, NOME_R2, ENDEREÇO_R2, CPF_R2, RG_R2, FONE_R2, UF_R2.

Se RESPFINAN_ALUNO = 'RES1'
NOME_R1 as NOME_FIN, ENDEREÇO_R1 AS ENDERECO_FIN, CPF_R1 AS CPF_FIN, RG_R1 AS RG_FIN, FONE_R1 AS FONE_FIN, UF_R1 AS UF_FIN

Se RESPFINAN_ALUNO = 'RES2'
NOME_R2 as NOME_FIN, ENDEREÇO_R2 AS ENDERECO_FIN, CPF_R2 AS CPF_FIN, RG_R2 AS RG_FIN, FONE_R2 AS FONE_FIN, UF_R2 AS UF_FIN

Pensei em fazer uma view com isto, para agilizar. Alunos com responsavel1 e 2 posso usar join, já que as tabelas de responsáveis possui a chave estrangeira com id do aluno. Mas fica a dúvida quanto a condição do financeiro....

[]´s

Stclara.



Em 21/10/2015 11:43, Alessandro Gonçalves escreveu:

Em 21 de outubro de 2015 11:26, Stclara <stcl...@gmail.com <mailto:stcl...@gmail.com>> escreveu:

    Salve, pessoal.
    Tenho a seguinte situação em um banco que peguei para manutenção:
    - Tabela aluno - nesta tabela tenho um campo que diz quem é o
    responsável financeiro.
    - Responsavel1;
    - Responsavel2;

    Tem uma consulta para gerar um contrato que pega os dados do
    aluno, responsavel1 e responsavel2 e mais o responsável financeiro
    que devido ao grande número de dados esta muito lenta.
    Aí pensei em criar uma view para tentar agilizar a pesquisa. Só
    que precisaria algo assim: select * from alunos join responsavel1
    join responsavel2 (case, if) aluno.responsavelfinan = 1 select
    nome.res1 as nome_fin, cpf.res1 as cpf_fin
    (case, if) aluno.responsavelfinan = 2 select nome.res2 as
    nome_fin, cpf.res2 as cpf_fin

    Isto é possivel?


    []´s


    Stclara
    _______________________________________________
    pgbr-geral mailing list
    pgbr-geral@listas.postgresql.org.br
    <mailto:pgbr-geral@listas.postgresql.org.br>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Se você colocar as estruturas das tabelas com mais detalhes fica mais fácil de ajudar... Se puder passar a quantidade de registros também.


_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a