Ir para conteúdo
Fórum Script Brasil
  • 0

Select com inner ou left ou right join


degui

Pergunta

Olá pessoal

estou tentando fazer um select mas não estou chegando no resultado esperado

tenho uma tabela chamada REMANEJAMENTOS e uma outra chamada ALUNOS

quando troco o aluno de turma, e criado um registro na tabela remanejamentos, indicando de qual turma ele saiu e para que turma ele foi... sendo assim, todas as trocas de turmas ficam guardadas. Na tabela alunos, é feito um update, mudando para a turma atual

tabelas.jpg

preciso de um select que me retorne a relacao de alunos da turma 30... juntamente com os alunos que já foram um dia da turma 30, ou seja, os alunos que tem na tabela remanejamento com a coluna DE = 30..

resumindo, vai retornar os alunos da turma 30, inclusive os que já foram dessa e turma e sairam para outras turmas

tabelas2.jpg

observem que os alunos 300 e 400 não pertecem mais a essa turma, mas um dia foram dela... isso e indicado na tabela remanejamentos na coluna DE, onde guarda a turma que o aluno saiu...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
select 

al.id_aluno, 
al.aluno,
al.turma,
re.id,
re.de,
re.para

from

alunos al
 left join
remanejamentos re
on al.id_aluno = re.id_aluno

where


(re.de = 30)
or
(
(al.turma = 30) 

ola pessoal,com esse codigo quase consegui... na verdade o resultado foi quase satisfatorio,

observem que ele fez exatamente o q pedi, com uma pequena exceção... a aluna AMANDA, saiu da turma 30 e foi para a turma 40... depois ela voltou da 40 para a turma 30... no select que consegui, o nome dela aparece duas vezes... so preciso que apareca uma vez, ou seja, o ULTIMO registro feito para ela na tabela remanejamentos... pois como ela já é da turma 30, não preciso dos registros q ela saiu e voltou...

tabelas3.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

select 

al.id_aluno, 
al.aluno,
al.turma,
re.id,
re.de,
re.para

from

alunos al
 left join
remanejamentos re
on al.id_aluno = re.id_aluno

where


(re.de = 30)
or
(
(al.turma = 30) 

ola pessoal,com esse codigo quase consegui... na verdade o resultado foi quase satisfatorio,

observem que ele fez exatamente o q pedi, com uma pequena exceção... a aluna AMANDA, saiu da turma 30 e foi para a turma 40... depois ela voltou da 40 para a turma 30... no select que consegui, o nome dela aparece duas vezes... so preciso que apareca uma vez, ou seja, o ULTIMO registro feito para ela na tabela remanejamentos... pois como ela já é da turma 30, não preciso dos registros q ela saiu e voltou...

tabelas3.jpg

no lugar de re.de você coloca re.para = '30'

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...