puede utilizar una única mesa dos veces en una consulta dándole dos nombres, así.
Los alias a menudo se introducen con la palabra clave AS. También normalmente especifica una condición de unión (porque sin ella, obtiene el Cartesian Product de la tabla unida a sí misma). Para preferencia, usa la notación JOIN explícita.
SELECT c1.id AS sender, c2.id AS replier
FROM contacts AS c1
JOIN contacts AS c2 ON c1.xxx = c2.yyy;
No está claro qué columnas podrían usarse para la unión en este ejemplo; no tenemos ninguna información para ayudar a resolver eso.
Normalmente, no sería otra mesa para que actúe como intermediario, como una tabla de mensajes:
SELECT c1.id AS sender, c1.email AS sender_email,
c2.id AS replier, c2.email AS replier_email,
m.date_time
FROM messages AS m
JOIN contacts AS c1 ON m.sender_id = c1.id
JOIN contacts AS c2 ON m.replier_id = c2.id;
probarlo y ver. La respuesta es sí BTW –