sql >> Databasteknik >  >> RDS >> Mysql

Hur går man med på samma bord, två gånger, i mysql?

du skulle använda en annan join, något i stil med följande:

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

REDIGERA :

Allt du gör är att gå med i tabellen flera gånger. Titta på frågan i inlägget:den väljer värdena från recensionertabellerna (alias rvw), den tabellen ger dig 2 referenser till domäntabellen (en FOR och en FROM).

Vid det här laget är det en enkel sak att vänster gå med i tabellen Domän till tabellen Recensioner. En gång (alias som toD) för FOR, och en andra gång (aliased som frånD) för FROM.

I SELECT-listan väljer du sedan DOM_URL-fälten från båda LEFT JOINS i DOMAIN-tabellen, hänvisar till dem med tabellaliaset för var och en som är kopplad i referens till Domains-tabellen, och alias dem som ToURL och FromUrl.

För mer information om aliasing i SQL, läs här .



  1. SQL - OM FINNS UPPDATERA ANNARS INSERT INTO

  2. Hur deklarerar man variabel och använder den i samma Oracle SQL-skript?

  3. Topp 5 PostgreSQL-frågeövervakningsverktyg

  4. Använd MySQL relationsdatabaser på Debian 5 (Lenny)