sql >> Database teknologi >  >> RDS >> Mysql

Hvordan slutter man sig til det samme bord, to gange, i mysql?

du ville bruge en anden join, noget i denne retning:

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

REDIGER :

Alt du gør er at deltage i tabellen flere gange. Se på forespørgslen i indlægget:den vælger værdierne fra anmeldelsertabellerne (aliaseret som rvw), den tabel giver dig 2 referencer til domænetabellen (en FOR og en FROM).

På dette tidspunkt er det en simpel sag at venstre slutte sig til domænetabellen til tabellen anmeldelser. Én gang (aliaseret som toD) for FOR, og en anden gang (aliaseret som fraD) for FROM.

Derefter vil du på SELECT-listen vælge DOM_URL-felterne fra begge LEFT JOINS i DOMAIN-tabellen, henvise til dem ved hjælp af tabelaliasset for hver sammenføjning i reference til Domains-tabellen, og alias dem som ToURL og FromUrl.

For mere info om aliasing i SQL, læs her .



  1. Sådan får du optegnelser over den aktuelle måned i MySQL

  2. 5 kraftfulde funktioner i Microsoft Access

  3. HOUR() vs EXTRACT(HOUR …) i MariaDB:Hvad er forskellen?

  4. Flytning af eksisterende tabel fra primær filgruppe til en anden filgruppe