[firebase-br] SELECT para exibir 1 só registro de um campo com vários valores

wanderley martlyma2 em gmail.com
Sex Set 12 14:49:54 -03 2008


coloque na clausula where

matricula = n.matricula


----- 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