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

Retornando um atributo entre três tabelas


Eduardo Trindade

Pergunta

Olá pessoal,

Tenho um pequeno banco de dados para uma Biblioteca Escolar e preciso retornar o nome da pessoa para o qual um livro está emprestado. Seria fácil se os leitores estivessem cadastrados em uma tabela Pessoa, por exemplo, mas há uma tabela para alunos, outra funcionários e outra professores (sim, um equívoco...). A tabela empréstimo possui a seguinte estrutura:

tabelaEmprestimo.jpg.f77095043df2116e26f5607b5e0ebae6.jpg

Já as tabelas alunos, professores e funcionarios possuem estrutura bastante semelhante, ambas contendo uma chave primária  (id_alunos, id_professores, id_funcionarios) respectivamente e um campo nome (que é o que preciso retornar quando a pessoa em questão estiver com a situação "E" na tabela emprestimo, ou seja, vinculada a duas id, a de sua tabela e a do livro.

Atualmente utilizo o seguinte sql para retornar os livros emprestados apenas para alunos, mas preciso de um que me mostre mesclado, todos os livros emprestados.

Select e.num_emprestimo, l.id_livros, titulo, autor, genero, data_emprestimo, data_devolucao, a.nome as leitor from livros l
inner join emprestimo e on l.id_livros = e.id_alunos
inner join alunos a on e.id_alunos = a.id_alunos
where e.situacao = 'E' order by data_devolucao

consultaEmprestimo.jpg.890bce174f2ef62782189807d50cc2bd.jpg

Então é isso. Preciso que na última coluna (Emprestado para) apareça tanto os alunos, quanto professores quanto funcionários.

Alguém pode me ajudar? Pensei em uma procedure, mas não consegui fazer. Se houver uma forma somente com um SQL agradeço muito.

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...