[firebase-br] AUTOINC
Rafael Pimenta
rafa.spimenta em gmail.com
Seg Jan 23 09:51:09 -03 2012
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
>
Mais detalhes sobre a lista de discussão lista