[firebase-br] Ajuda pra montar uma SQL

Andrei Luís compuvale.software em gmail.com
Qui Dez 1 15:18:29 -03 2005


Tente algo assim:

Select IDDISCIPLINA from grade_disciplinas
where (idTurma=1) and
(iddisciplina not in (Select idDisc1, idDisc2 from interligar))

Não testei, talvez precise corrigir. Podes dar uma olhada no operador
EXIST ao invés do IN

[]
Andrei


Em 01/12/05, Fellipe Henrique<fellipe em imicro.com.br> escreveu:
> Olá amigos, tenho essas tabelas:
>
> CREATE TABLE GRADE (
>    IDGRADE  INTEGER NOT NULL,
>    IDTURMA  INTEGER,
>    ANO      INTEGER
> );
>
> CREATE TABLE GRADE_DISCIPLINAS (
>    IDGRADE_DISCIPLINAS  INTEGER NOT NULL,
>    IDGRADE              INTEGER,  <<---------- FK
>    IDDISCIPLINA         INTEGER <<---------- FK
> );
>
> CREATE TABLE INTERLIGAR (
>    IDINTERLIGAR  INTEGER NOT NULL,
>    IDTURMA       INTEGER, <<---------- FK
>    DESCRICAO     D_NOME /* D_NOME = VARCHAR(255) */,
>    IDDISC1       INTEGER,<<---------- FK
>    IDDISC2       INTEGER,<<---------- FK
>    ANO           INTEGER
> );
>
> Preciso retornar todos IDDISCIPLINA da tabela GRADE_DISCIPLINAS com IDTURMA
> = 1, porém que NAO FAÇAM PARTE da tabela INTERLIGAR, ou seja, que o
> IDDISCIPLINA nao seja o IDDISC1 ou IDDISC2 da tabela INTERLIGAR sendo
> IDTURMA = 1,
>
> Como faço isso? Não to conseguindo de jeito nenhum, sempre me retorna tudo..
> :(
>
> Desde já agradeço.
>
> Fellipe H.
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>


--
[]s
Andrei

W2K + D4 Pro + FB 1.5.2 + IBO 4.5B




Mais detalhes sobre a lista de discussão lista