Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak możesz dołączyć do tego samego stołu, dwa razy, w mysql?

użyjesz innego sprzężenia, czegoś podobnego:

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

EDYTUJ :

Wszystko, co robisz, to wielokrotne dołączanie do stołu. Spójrz na zapytanie w poście:wybiera ono wartości z tabel Reviews (alias rvw), ta tabela zawiera 2 odniesienia do tabeli Domena (FOR i FROM).

W tym momencie wystarczy pozostawić dołączenie tabeli Domeny do tabeli Recenzje. Raz (znany jako toD) dla FOR i drugi raz (aliasowany jako fromD) dla FROM.

Następnie na liście WYBIERZ wybierzesz pola DOM_URL z obu LEFT JOINS tabeli DOMAIN, odwołując się do nich za pomocą aliasu tabeli dla każdego połączonego w odniesieniu do tabeli Domeny i przypisz im aliasy jako ToURL i FromUrl.

Więcej informacji na temat tworzenia aliasów w SQL znajdziesz tutaj .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przewodnik po projektowaniu bazy danych do zarządzania blogami w MySQL

  2. Używasz LIMIT w GROUP BY, aby uzyskać N wyników na grupę?

  3. Błąd mySQL 1040:Za dużo połączeń

  4. Jak zainstalować phpMyAdmin we własnej aplikacji?

  5. MySQL:ALTER TABLE, jeśli kolumna nie istnieje