Junte-se à mesa duas vezes - em duas colunas diferentes da mesma mesa

Eu tenho um banco de dados muito confuso com uma tabela que contém dois valores que eu preciso em uma tabela separada. Aqui está o meu problema:

Table1
- id

Table2
- id
- table1_id
- table3_id_1
- table3_id_2

Table3
- id
- value

Eu preciso ir de table1 e fazer uma junção que me devolva o valor detable3 em duas colunas separadas. Então eu quero algo assim:

table1.id | table2.id | table2.table3_id_1 | table2.table3_id_2 | X | Y

OndeX eY são os valores para a linha conectada portable3_id_1 etable3_id_2 respectivamente.

Possivelmente torná-los variáveis ​​ou algo assim, eu posso filtrá-los em umWHERE cláusula também?

questionAnswers(3)

yourAnswerToTheQuestion