Jump to content
Fórum Script Brasil
  • 0

Juntar duas tabelas baseado em uma terceira e quarta tabelas


Question

Boa noite,

Tenho um banco com uma tabela Autor e um com a tabela Documento, ambos com uma coluna ID. Além disso, tenho uma tabela AutorDocumento, onde a coluna Documento_ID é relacionada à coluna Autor_ID (representando o(s) autor(es) que escreveram o Documento). Por fim, tenho uma tabela ResourceID, onde existem as colunas `type`, URI e target. A coluna target representa o ID de outra tabela, seja ela Autor ou Documento. A coluna `type` representa o tipo do ID (1 para autor, 2 para documento). A coluna URI é o elemento final que estou buscando.

Meu problema: Desejo linkar o URI de um documento ao URI de seu respectivo autor em uma única linha, usando um único select. Como sou novo em MySQL e em bancos de dados no geral, não estou conseguindo achar a query correta. Até agora, o mais próximo que cheguei foi:

select r.uri, t.uri, nome_completo, titulo from Autor a join Documento d join AutorDocumento ad join ResourceID r join ResourceID t on a.id = ad.Autor_id and d.id = ad.Documento_id and a.id = r.target and r.`type` = 1 and d.id = t.target and t.`type` = 2

Porém ele dá timeout e não compila. Se eu retirar o join com ResourceID t, ela compila, mas não apresenta o resultado que eu desejo, pois só mostrará o URI do Autor. Poderiam me dar uma sugestão de como eu posso resolver isso?

Obs.: As colunas nome_completo e titulo são, respectivamente, pertencentes às tabelas Autor e Documento, utilizadas apenas para melhor visualização da tabela.

Obs2.: Fiz o seguinte esboço no excel para tentar ilustrar um pouco as tabelas que já tenho e a tabela que desejo obter: https://ibb.co/SDkTTD0

Obrigado desde já.

Eduardo.

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644509
×
×
  • Create New...