[firebase-br] RES: Select com 4 tabelas, exibindo coluna vazia....

dirceu.h em gmail.com dirceu.h em gmail.com
Qui Out 4 17:01:05 -03 2007


Select a.id
       a.nome
       b.nota
       c.faltas
from tabalunos a
left outer join tabnotas  b on(b.idaluno = a.id)
left outer join tabfaltas c on(c.idaluno = a.id)

desta maneira vc vai trazer todos os alunos, mesmo que não tenham nota ou
faltas.

Se quiser trazer 'zero' no lugar de 'null', de uma estudano no comando CASE
e NULLIF


[]'s

dirceu altair henchen
EcoCentauro Sistemas
Alta Floresta - MT
www.ecocentauro.com.br

 



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Simone
Enviada em: quarta-feira, 3 de outubro de 2007 12:20
Para: FireBase
Assunto: [firebase-br] Select com 4 tabelas, exibindo coluna vazia....

Boa tarde!

Gostaria de ajuda pra montagem de um Select, onde uso 4 tabelas, até aí, td
bem, o problema, é que preciso que mesmo que o registro não seja encontrado
em determinada tabela, ele exiba a coluna vazia (ou zerada), tem como?!?

Exemplo:
TabelaA - CURSO, SERIE, TURMA, MATRICULA, REGISTRO
TabelaB - CURSO, SERIE, TURMA, MATRICULA, NOTA
TabelaC - CURSO, SERIE, TURMA, MATRICULA, FALTA
TabelaD - REGISTRO, NOME

Select  A.CURSO, A.SERIE, A.TURMA, A.MATRICULA, B.NOTA, C.FALTA, D.NOME
>From  TabelaA A, TabelaB B, TabelaC C, TabelaD D
Where (A.CURSO             =  B.CURSO)           And
           (A.SERIE                =  B.SERIE)              And
           (A.TURMA             =  B.TURMA)          And
           (A.MATRICULA    =  B.MATRICULA) And
           (C.CURSO             =  B.CURSO)           And
           (C.SERIE                =  B.SERIE)              And
           (C.TURMA             =  B.TURMA)          And
           (C.MATRICULA    =  B.MATRICULA) And
           (A.REGISTRO        =  D.REGISTRO   )
Order By A.MATRICULA

O problema é que se por acaso o aluno de matricula "X"  não tiver lançamento
de Falta, por exemplo (TabelaC), ele não traz o registro....

Preciso que, mesmo que ele não encontre nota (TabelaB) ou Falta (TabelaC)
ele traga sempre o aluno (mas tem que ter lançamento em pelo menos em uma
duas tabelas (nota ou falta)
CURSO   SERIE   TURMA   MATRICULA   NOTA   FALTA  NOME
003          001        XXX        X301                   10,0         1
MARIA
003          001        XXX        X302                     9,0
JOSÉ
003          001        XXX        X301                                   2
PEDRO
003          001        XXX        X301                   10,0         1
JORGE

Tem como montar um Select assim?!?
Li sobre Select / Where / Join / Union....mas não encontrei nada parecido...
Se alguem tiver uma dica, pode me passar, por favor?
Desde jpa, obrigada!
Simone



______________________________________________
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