[firebase-br] SELECT para exibir 1 só registro de um campo com vários valores
Fabiano Martins
fabiano em clippnet.com.br
Sex Set 12 09:42:40 -03 2008
Quando vc insere a matricula no group by ele vai pegar todas as matriculas.
Coloque assim e vai colocando o que vc achar que é nescessario.
SELECT (M.CODIGO),A.NOME FROM ALUNOS A,TURMA T,MATRICULA M
GROUP BY M.CODIGO,A.NOME
----- Original Message -----
From: "Giovani Rochê" <giovaniroche em msn.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, September 12, 2008 8:38 AM
Subject: [firebase-br] RE: SELECT para exibir 1 só registro de um campo com
vários valores
Olá. Fiz a consulta abaixo como vc indicou mas ainda ta repetindo. Eu
esqueci de inserir o campo M.codigo na consulta q postei abaixo. Fiz assim:
SELECT DISTINCT(M.CODIGO),A.NOME,A.CODIGO,A.MATRICULA,T.NOME as
TURMA,A.STATUS
FROM ALUNOS A,TURMA T,MATRICULA M
WHERE M.COD_ALUNO = A.CODIGO
AND M.COD_TURMA = T.CODIGO
AND M.COD_TIPO_MATRICULA = 0
AND A.STATUS <> 1
AND M.ANO = '2008'
AND T.NOME ='M511'
GROUP BY M.CODIGO,A.NOME,A.CODIGO,A.MATRICULA,T.NOME,A.STATUS
Desse jeito está exibindo o nome do aluno para cada nºde matricula. O que
desejo seria somente 1 aluno para 1 código de matriculka(M.CODIGO)
> To: lista em firebase.com.br> From: eduardo em icontroller.com.br> Date: Fri, 12
> Sep 2008 08:31:21 -0300> Subject: Re: [firebase-br] SELECT para exibir 1
> só registro de um campo com vários valores> > Se você quiser que não
> repita, use SELECT DISTINCT e tire o código de > matrícula, deixando
> apenas o código do aluno.> > Giovani Rochê escreveu:> > Ainda assim
> aparece o mesmo alunos várias vezes. Para cada Codigo de Matrícula ta
> aparecendo um> > aluno. O que ta pegando é isso. Tinha q ter um jeito de
> selecionar só um código de matrícula> > de cada aluno e não todos os
> códigos (Os códigos de Matrícula são diferentes, é um nº> > sequencial)> >
> > > SELECT A.NOME,A.CODIGO,A.MATRICULA,T.NOME as TURMA,A.STATUS> > FROM
> ALUNOS A,TURMA T,MATRICULA M> > WHERE M.COD_ALUNO = A.CODIGO> > AND
> M.COD_TURMA = T.CODIGO> > AND M.COD_TIPO_MATRICULA = 0> > AND A.STATUS <>
> 1> > AND M.ANO = '2008'> > AND T.NOME ='M511'> > GROUP BY
> A.NOME,A.CODIGO,A.MATRICULA,T.NOME,A.STATUS> > > > A Tabela matricula é
> essa:> > > > CREATE TABLE MATRICULA ( CODIGO SMALLINT DEFAULT 0 NOT NULL,>
> > COD_ALUNO SMALLINT DEFAULT 0 NOT NULL,> > COD_DISCIPLINA SMALLINT
> DEFAULT 0 NOT NULL,> > ANO CHAR(4) CHARACTER SET WIN1252 DEFAULT '' NOT
> NULL COLLATE WIN1252,> > COD_TURMA SMALLINT,> > COD_TIPO_MATRICULA
> SMALLINT,> > OBS BLOB SUB_TYPE 1 CHARACTER SET WIN1252 COLLATE WIN1252);>
> >> se entendi bem vc quer que aparece o aluno uma unica vez.> sendo assim
> vc tem que tirar alguns campos> > <br><p>SELECT M.CODIGO,A.NOME</p><p>FROM
> ALUNOS A,TURMA T,MATRICULA > M</p><p>WHERE M.COD_ALUNO =
> A.CODIGO</p><p>AND M.COD_TURMA = > T.CODIGO</p><p>AND M.COD_TIPO_MATRICULA
> = 0</p><p>AND A.STATUS <> > 1</p><p>AND M.ANO = '2008'</p><p>AND T.NOME
> ='M511'</p><p>GROUP BY > M.CODIGO,A.NOME> > > > Saudação a todos!<br>
> <p>Estou tentando fazer um select q me retorne os > alunos de uma turma
> por ordem de matricula,</p>> <p>sendo q um aluno tem "n" nº de matriculas
> pq cada disciplina tem um nº de > matrícula,</p>> <p>logo preciso de um
> agrupamento(presumo eu). A consulta q fiz é essa:</p>> > <br><p>SELECT
> M.CODIGO,A.NOME,A.CODIGO AS COD_ALUNO,A.MATRICULA,T.NOME as >
> TURMA,A.STATUS</p><p>FROM ALUNOS A,TURMA T,MATRICULA M</p><p>WHERE >
> M.COD_ALUNO = A.CODIGO</p><p>AND M.COD_TURMA = T.CODIGO</p><p>AND >
> M.COD_TIPO_MATRICULA = 0</p><p>AND A.STATUS <> 1</p><p>AND M.ANO = >
> '2008'</p> ><p>AND T.NOME ='M511'</p><p>GROUP BY >
> M.CODIGO,A.NOME,A.CODIGO,A.MATRICULA,T.NOME,A.STATUS</p>> <br>> <p>Ao
> fazer esta consulta é listado todos os códigos de matrícula do aluno, > no
> caso eu só preciso de 1 deles somente.</p>> <p> Se isso não acontecer vou
> ter o msm alunos várias vezes na consulta(é o > q ta acontecendo).</p>>
> <br> <p>Se alguém puder me indicar o caminho
> agradeço.</p><br><p>Abraço!</p>> > > > Conheça já o Windows Live Spaces, o
> site de relacionamentos do Messenger! > Crie já o seu!>
> _________________________________________________________________> Receba
> GRÁTIS as mensagens do Messenger no seu celular quando você estiver >
> offline. Conheça o MSN Mobile!>
> http://mobile.live.com/signup/signup2.aspx?lc=pt-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 mensagen>
> s 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> >
> _________________________________________________________________> >
> Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o
> Messenger! É GRÁTIS!> > http://www.msn.com.br/emoticonpack> >
> ______________________________________________> > 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
_________________________________________________________________
Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
http://www.amigosdomessenger.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