sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo te unes en la misma tabla, dos veces, en mysql?

usarías otra unión, algo así:

SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

EDITAR :

Todo lo que estás haciendo es unirte a la mesa varias veces. Mire la consulta en la publicación:selecciona los valores de las tablas de Reseñas (con alias rvw), esa tabla le proporciona 2 referencias a la tabla de Dominio (un FOR y un FROM).

En este punto, es muy sencillo unir a la izquierda la tabla Dominio con la tabla Reseñas. Una vez (con alias toD) para FOR y una segunda vez (con alias fromD) para FROM.

Luego, en la lista SELECCIONAR, seleccionará los campos DOM_URL de ambos LEFT JOINS de la tabla DOMAIN, haciendo referencia a ellos por el alias de la tabla para cada unido en referencia a la tabla Domains, y alias como ToURL y FromUrl.

Para obtener más información sobre los alias en SQL, lea aquí .