Dúvida com SQL

Delphi

22/07/2005

Tenho duas tabelas (aluno, fera), onde na tabela aluno eu tenho os campos codigo e nome, e na tabela fera tenho os campos codigo, nome, insc e curso.
Eu queria saber como faço um select pra comparar a tabela aluno com a tabela fera...
Exemplo:
Quero fazer uma consulta que me retorne o nome e o curso do aluno que estiver nas duas tabelas.

se na tabela aluno tiver o nome joazinho 30 e na tabela fera tambem tiver o mesmo nome, entao a consulta me retorna o nome joazinho 30 e o respectivo curso...
Já fiz de tudo e nao consegui esse select... alguem pode me ajudar???

Obrigado pela atenção.

Douglas


Douglas

Douglas

Curtidas 0

Respostas

Rjun

Rjun

22/07/2005

Select
  Al.Codigo,
  Al.Nome,
  Fe.Curso
From
  Aluno Al
Left Join
  Fera Fe on Fe.Codigo = Al.Codigo


Na sua tabela Fera não é necessário o campo nome referente ao aluno. Isso é um erro de normalização.


GOSTEI 0
Douglas

Douglas

22/07/2005

mas eu tenho que comparar os nomes, pois sao tabelas de bancos diferentes e os codigo nao batem com as duas tabelas... por isso tem que ser feito a comparação entre os nomes e nao pelo codigo...


GOSTEI 0
Rjun

Rjun

22/07/2005

Então isso tá pior ainda. E se existirem dois alunos com nomes iguais? Isso não é um caso raro. Mas se é pra comparar com nome então é só mudar o sql.
Select 
  Al.Codigo, 
  Al.Nome, 
  Fe.Curso 
From 
  Aluno Al 
Left Join 
  Fera Fe on Fe.Nome = Al.Nome 



GOSTEI 0
Douglas

Douglas

22/07/2005

nao funcionou!
Pois está me retornando todos os alunos da tabela aluno, e nem todos estao nao tabela fera, e no campo curso, nao me retorna nada....
o que devo fazer???


GOSTEI 0
Rjun

Rjun

22/07/2005

Foi mal...tira o left do left join.

Select 
  Al.Codigo, 
  Al.Nome, 
  Fe.Curso 
From 
  Aluno Al 
Join 
  Fera Fe on Fe.Nome = Al.Nome 



GOSTEI 0
Douglas

Douglas

22/07/2005

Ta quase na medida
como faço pra pegar parte do nome?
sei que devo usar like, mas como fazer isso??
Obrigado


GOSTEI 0
Rjun

Rjun

22/07/2005

Ai precisa saber quem será a base. Tente assim:

Select 
  Al.Codigo, 
  Al.Nome, 
  Fe.Curso 
From 
  Aluno Al 
Join 
  Fera Fe on Fe.Nome like ´¬´ + al.Nome + ´¬´



GOSTEI 0
POSTAR