sql >> Database >  >> RDS >> Mysql

Hoe doe je mee aan dezelfde tafel, twee keer, in mysql?

je zou een andere join gebruiken, iets in de trant van:

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

BEWERKEN :

Het enige dat u doet, is meerdere keren aan de tafel deelnemen. Kijk naar de query in de post:deze selecteert de waarden uit de tabellen Reviews (aliased als rvw), die tabel geeft je 2 verwijzingen naar de Domain-tabel (een FOR en een FROM).

Op dit punt is het een eenvoudige zaak om naar de tabel Domein te gaan en naar de tabel Beoordelingen te gaan. Een keer (alias toD) voor de FOR, en een tweede keer (alias fromD) voor FROM.

Vervolgens selecteert u in de SELECT-lijst de DOM_URL-velden uit beide LEFT JOINS van de DOMAIN-tabel, verwijst u ernaar door de tabelalias voor elke samengevoegde verwijzing naar de Domains-tabel, en alias ze als de ToURL en FromUrl.

Lees hier voor meer informatie over aliasing in SQL. .



  1. OpenVPN gebruiken om toegang tot uw databasecluster in de cloud te beveiligen

  2. PostgreSQL 9.0.4 volledig verwijderen van Mac OSX Lion?

  3. Hoe MySQL Slow Query Log in MySQL in te schakelen?

  4. MySQL Workbench:hoe de verbinding levend te houden