[firebase-br] Ajuda com Select

Phelen Harg phelen em gmail.com
Seg Out 15 13:25:31 -03 2007


Opá, brigadão ae, vou testar logo mais...

On 10/14/07, Eduardo Bahiense <eduardo em icontroller.com.br> wrote:
>
> Olá Phelen
>
> Procure se inteirar do uso de EXISTS. Isso quebra um grande galho em
> diversas situações.
> No seu caso, algo assim resolveria:
>
> SELECT
>   A.IDALUNO, A.NOME
> FROM
>   ALUNOS A
> WHERE
>   NOT EXISTS(SELECT 1 FROM CURSOS WHERE IDALUNO = A.IDALUNO)
>
> Não se esqueça de verificar se existe um índice em IDALUNO na tabela
> CURSOS para manter a performance.
>
> []s Eduardo
>
> Phelen Harg escreveu:
> > Tenho uma tabela de alunos
> >
> > CREATE TABLE ALUNOS (
> > ID NUMERIC(15,0) NOT NULL,
> > NOME VARCHAR(200),
> > ENDERECO VARCHAR(400),
> > );
> >
> > e outra de curso
> >
> > CREATE TABLE ALUNOS CURSOS (
> > IDALUNO NUMERIC(10,0) NOT NULL,
> > IDCURSO NUMERIC(10,0) NOT NULL,
> > ID NUMERIC(10,0) NOT NULL,
> > );
> >
> > Preciso mostrar os alunos q nao tem determinado curso, porem se uso
> INNER
> > JOIN
> > CODE
> > Select A.* from ALUNOS A INNER JOIN PESSOASCURSOS PC ON (not PC.idcursos=
> > '1' AND PC.idaluno = P.ID)
> >
> > e tiver mais q um curso ele acaba mostrando os outros cursos, o que
> quero é
> > q ele mostre somente os alunos q nao tem esse curso. Como deveria fazer
> essa
> > SQL?
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista