Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kommen Sie in MySQL zweimal an denselben Tisch?

Sie würden einen anderen Join verwenden, etwa so:

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

BEARBEITEN :

Alles, was Sie tun, ist, sich mehrmals in den Tisch einzureihen. Schauen Sie sich die Abfrage im Post an:Sie wählt die Werte aus den Reviews-Tabellen (alias rvw) aus, diese Tabelle liefert Ihnen 2 Verweise auf die Domain-Tabelle (eine FOR und eine FROM).

An diesem Punkt ist es einfach, die Domain-Tabelle mit der Review-Tabelle zu verbinden. Einmal (alias toD) für FOR und ein zweites Mal (alias fromD) für FROM.

Dann wählen Sie in der SELECT-Liste die DOM_URL-Felder aus beiden LEFT JOINS der DOMAIN-Tabelle aus, referenzieren sie durch den Tabellen-Alias ​​für jeden Join in Bezug auf die Domains-Tabelle und aliasieren sie als ToURL und FromUrl.

Weitere Informationen zum Aliasing in SQL finden Sie hier .