Tenho a seguinte consulta:
SELECT
dashboard_data.headline,
dashboard_data.message,
dashboard_messages.image_id
FROM dashboard_data
INNER JOIN dashboard_messages
ON dashboard_message_id = dashboard_messages.id
Portanto, estou usando um INNER JOIN
e agarrando o image_id
. Agora, quero pegar esse image_id e transformá-lo em images.filename
da tabela de imagens.
Como posso adicionar isso à minha consulta?
Respostas:
Você pode simplesmente adicionar outra junção como esta:
No entanto, esteja ciente de que, por ser um
INNER JOIN
, se você tiver uma mensagem sem imagem, toda a linha será ignorada. Se esta for uma possibilidade, você pode querer fazer umLEFT OUTER JOIN
que retornará todas as suas mensagens do painel e um nome_do_arquivo_de_imagem apenas se houver (caso contrário, você obterá um nulo)fonte
Basta adicionar outra associação:
fonte
Compartilhei minha experiência de usar dois LEFT JOINS em uma única consulta SQL.
Eu tenho 3 mesas:
Tabela 1) Paciente consiste nas colunas PatientID, PatientName
Tabela 2) Compromisso consiste nas colunas AppointmentID, AppointmentDateTime, PatientID, DoctorID
Tabela 3) Doctor consiste nas colunas DoctorID, DoctorName
Inquerir:
Eu escrevi a solução para obter o formato de data como "mm / dd / aa" (sob meu nome "VARUN TEJ REDDY")
fonte
As junções múltiplas no SQL funcionam criando tabelas derivadas progressivamente uma após a outra. Veja este link explicando o processo:
https://www.interfacett.com/blogs/multiple-joins-work-just-like-single-joins/
fonte