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

Davi Eduardo Borges Wall davi.wall em mult.com.br
Qua Out 3 13:49:08 -03 2007


Oi Simone, o Alexandre te respondeu a pergunta,
Mas gostaria de acrescentar que as ligações de uma consulta SQL
deveriam ser feitas através de join (como Alexandre te mostrou) e não where como vc está fazendo.

O where deveria ser usado somente para filtrar uma consulta feita com join's.

[]s

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