[firebase-br] AUTOINC

Joao Marcos unixkiller em gmail.com
Sáb Jan 28 02:10:17 -03 2012


A solução mais elegante seria utilizando uma SP selecionavel.
Em 23/01/2012 09:51, "Rafael Pimenta" <rafa.spimenta em gmail.com> escreveu:
>
> Bom dia a todos,
> Pelo que andei pesquisando e através dos seus depoimentos, constatei que
> realmente o firebird não tem tal recurso(que no sql server seria o PIVOT
).
>
> Solução encontrada:
>
> Como os dados da tabela de disciplina não são fixos, a única alternativa
> que encontrei é fazer um select normal retornando as disciplinas com as
> notas dos alunos e via programação montar um grid dinamicamente com uma
> coluna para cada disciplina.
>
> Agradeço o apoio de todos e fica a dica para que será incluído tal recurso
> em novas releases do firebird.
>
> Rafael
>
> Em 23 de janeiro de 2012 09:09, Edson Marco <edmafer em gmail.com> escreveu:
>
> > Infelizmente para você fazer isto, você vai travar o teu resultado para
> > determinadas disciplinas, ou seja, se você cadastrar uma nova ele não
vai
> > trazer.
> >
> > Você pode fazer de várias formas, algumas seriam usando subselect ou
> > fazendo uma procedure (ou mesmo um execute block) para retornar os
> > registros como colunas.
> >
> > na subselect seria algo mais ou menos assim
> >
> > select
> >   a.nome_aluno,
> >   (select n.qtd_nota from notas n where n.matricula_aluno =
> > a.matricula_aluno and n.codigo_disciplina = 2) PORTUGUES,
> >
> >  faça o mesmo para cada matéria
> >
> > from
> > aluno a
> >
> > Isto se você realmente quiser trazer isto já pronto do banco... ou faça
> > isto mais dinâmico (acho que é melhor) e monte esta estrutura na
aplicação.
> >
> > []'s
> >
> > 2012/1/22 Rafael Pimenta <rafa.spimenta em gmail.com>
> >
> > > Colegas, preciso com certa urgencia de uma select que retorne alguns
> > dados
> > > na seguinte disposição:
> > >
> > > MATRICULA  NOME     PORTUGUES FISICA QUIMICA
> > > 0001       JOSE     8         7      5
> > > 0002       MANUEL   9         3      6
> > > 0003       JOAQUIM  6         7      7
> > >
> > > Estrutu das tabelas:
> > >
> > > CREATE TABLE ALUNOS (
> > >    MATRICULA_ALUNO       INTEGER NOT NULL,
> > >    NOME_ALUNO            VARCHAR(50) NOT NULL,
> > >    DATANASCIMENTO_ALUNO  DATE NOT NULL);
> > >
> > > CREATE TABLE DISCIPLINAS (
> > >    CODIGO_DISCIPLINA  INTEGER NOT NULL,
> > >    NOME_DISCIPLINA    CHAR(50) NOT NULL);
> > >
> > > CREATE TABLE NOTAS (
> > >    MATRICULA_ALUNO    INTEGER NOT NULL,
> > >    CODIGO_DISCIPLINA  INTEGER NOT NULL,
> > >    QTD_NOTA           NUMERIC(5,2) DEFAULT 0);
> > >
> > > Fiz os relacionamentos tudo ok.
> > >
> > > Mas eu não sei montar um select para retornar cada matéria como sendo
uma
> > > coluna.
> > >
> > > Obrigado!
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> >
> >
> >
> > --
> > /*
> >  * Edson Marco Ferrari Junior
> >  * edmafer em edmafer.com.br
> >  * http://www.edmafer.com.br
> >  */
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista