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

Problema com INNER JOIN - 4 Tabelas


alemaodp

Pergunta

Bom dia..

Gurizada é o seguinte, tenho um INNER JOIN unindo 3 tabelas, e esta funcionando perfeitamente. Só que agora preciso unir mais uma tabela a esse SQL, ou seja, ficaria nesse SQL com 4 tabelas unidas. Só que não estou conseguindo adicionar essa 4° tabela, se alguém ai puder me ajudar.

Logo abaixo está o codigo:

// Aqui 3 tabelas estao unidas via Inner join.

$_pagi_sql = "select escola_disciplinas.descricao as descricao, escola_avaliacao.nota as nota, date_format(escola_avaliacao.data_avaliacao, '%d/%m/%Y') as data, escola_alunos.nome as nome, escola_avaliacao.observacao as obs from escola_alunos INNER JOIN (escola_disciplinas INNER JOIN escola_avaliacao ON escola_disciplinas.codigo = escola_avaliacao.cod_disciplina) ON escola_avaliacao.cod_aluno = escola_alunos.matricula where escola_alunos.cod_turma = 5 order by descricao";

Preciso adicionar a esse inner join a tabela escola.faltas, assim ficando com 4 tabelas unidas.

O campo de ligação entra as tabelas é: escola_faltas.cod_aluno com o campo escola_alunos.matricula da tabela escola_alunos

Desde já agradeço a ajuda.

Abraço....

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

ta meio confuso entender seu codigo mas faz assim:

tabela a

b

c

d

select a.1, b.2, c.3, d.4

from a inner join b on

a.cod = b.cod

inner join c on

c.cod = b.cod

inner join d on

d.cod = c.cod

nã tem erro se seguir esse modelo vai dar certo.

espero ter ajudado...

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'alemaodp'

Veja se assim te ajuda:

Seu SQL atual

SELECT escola_disciplinas.descricao as descricao, escola_avaliacao.nota as nota, 
   date_format(escola_avaliacao.data_avaliacao, '%d/%m/%Y') as data, escola_alunos.nome as nome, 
   escola_avaliacao.observacao as obs 
FROM escola_alunos 
INNER JOIN (escola_disciplinas INNER JOIN escola_avaliacao ON escola_disciplinas.codigo = escola_avaliacao.cod_disciplina) 
   ON escola_avaliacao.cod_aluno = escola_alunos.matricula 
WHERE escola_alunos.cod_turma = 5 order by descricao
Novo SQL
SELECT escola_disciplinas.descricao as descricao, escola_avaliacao.nota as nota, 
   date_format(escola_avaliacao.data_avaliacao, '%d/%m/%Y') as data, escola_alunos.nome as nome, 
   escola_avaliacao.observacao as obs 
FROM escola_alunos 
INNER JOIN escola_avaliacao ON escola_avaliacao.cod_aluno = escola_alunos.matricula 
INNER JOIN escola_disciplinas ON escola_disciplinas.codigo = escola_avaliacao.cod_disciplina
INNER JOIN escola_faltas ON escola_faltas.cod_aluno = escola_alunos.matricula

Uma dica: Trate um SQL como se fosse uma linguagem de programação. Ou seja, mantenha o código SQL estruturado para que você possa entendê-lo mais tarde.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...