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

(Resolvido) selecionar tabela todos campos foreign key


nathaliempg@gmail.com

Pergunta

Boa noite. Tenho uma tabela que grava dados do horário das turmas de uma escola, chamada horarioTurmas. São cinco horários por turno e turma, e para cada horário um professor com sua disciplina. Sendo então os campos da tabela horarioTurmas: codHorarioTurmas, codprof1, coddiscip1, codhor1,codprof2, coddiscip2, codhor2,codprof3, coddiscip3, codhor3,codprof4, coddiscip4, codhor4,codprof5, coddiscip5, codhor5. Cada campo desse é uma foreign key, para tabela professor, tabela disciplina e tabela horario. Quando uso a seguinte consulta:

SELECT s.nomeserie,tu.nometurno,t.diasemana,h.horainicio,h.horafim,p.nome,d.nomediscip
FROM escola.turma t
JOIN escola.serie s ON t.codserie = s.codserie
JOIN escola.turno tu ON t.codturno = tu.codturno
JOIN escola.horarioturmas ht ON t.codhturmas = ht.codhturmas
JOIN escola.professor p ON ht.codprof1 = p.codprofessor
JOIN escola.disciplina d ON ht.codiscip1 = d.codisciplina     
JOIN escola.horario h ON ht.codhor1 = h.codhorario;

é exibido apenas o primeiro horário de cada turma e turno.

Ex.: 1º ano manhã - segunda - 07:00 as 07:30 - prof.Luis - matemática

       1º ano tarde - segunda - 13:00 as 13:30 - prof.Carlos - história

Não consigo trazer os outros horários. Já tentei várias sentenças.

Eu preciso disso:

1º ano manhã - segunda - 07:00 as 07:30 - prof.Luis - matemática

1º ano manhã - segunda - 07:30 as 08:00 - prof.Luis - matemática

1º ano manhã - segunda - 08:00 as 08:30 - prof.Carmem - história

1º ano manhã - segunda - 08:30 as 09:00 - prof.Luisa - português

1º ano manhã - segunda - 09:00 as 09:30 - prof.Paulo - geografia

1º ano manhã - segunda - 10:30 as 11:00 - prof.Amélia - inglês

Preciso da impressão dos horários completos de cada turma por turno e dia.Como podem ver, utilizo várias fks. Se puderem me ajudar, agradeço. Nathalie

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui encontrar a solução.

SELECT s.nomeserie,t.complemento,s.etapaensino,tu.nometurno,t.sala,t.anoletivo,t.diasemana,h.horainicio,h.horafim,p.nome,
d.nomediscip,h2.horainicio,h2.horafim,p2.nome,d2.nomediscip,h3.horainicio,h3.horafim,p3.nome,d3.nomediscip,
 h4.horainicio,h4.horafim,p4.nome,d4.nomediscip,h5.horainicio,h5.horafim,p5.nome,d5.nomediscip

FROM escola.turma t
JOIN escola.serie s ON t.codserie = s.codserie
JOIN escola.turno tu ON t.codturno = tu.codturno

JOIN escola.horarioturmas ht ON t.codhturmas = ht.codhturmas
JOIN escola.professor p ON ht.codprofessor1 = p.codprofessor
JOIN escola.disciplina d ON ht.codisciplina1 = d.codisciplina
JOIN escola.horario h ON ht.codhorario1 = h.codhorario

JOIN escola.horarioturmas ht2 ON t.codhturmas = ht2.codhturmas
JOIN escola.professor p2 ON ht2.codprofessor2 = p2.codprofessor
JOIN escola.disciplina d2 ON ht2.codisciplina2 = d2.codisciplina
JOIN escola.horario h2 ON ht2.codhorario2 = h2.codhorario

JOIN escola.horarioturmas ht3 ON t.codhturmas = ht3.codhturmas
JOIN escola.professor p3 ON ht3.codprofessor3 = p3.codprofessor
JOIN escola.disciplina d3 ON ht3.codisciplina3 = d3.codisciplina
JOIN escola.horario h3 ON ht3.codhorario3 = h3.codhorario

JOIN escola.horarioturmas ht4 ON t.codhturmas = ht4.codhturmas
JOIN escola.professor p4 ON ht4.codprofessor4 = p4.codprofessor
JOIN escola.disciplina d4 ON ht4.codisciplina4 = d4.codisciplina
JOIN escola.horario h4 ON ht4.codhorario4 = h4.codhorario

JOIN escola.horarioturmas ht5 ON t.codhturmas = ht5.codhturmas
JOIN escola.professor p5 ON ht5.codprofessor5 = p5.codprofessor
JOIN escola.disciplina d5 ON ht5.codisciplina5 = d5.codisciplina
JOIN escola.horario h5 ON ht5.codhorario5 = h5.codhorario

Eu digitava tudo menos o que está em negrito, portanto a sentença recuperava os dados mas não imprimia porque os campos não estavam selecionados. Para alguém que possa precisar. Nathalie.

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...