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

Jak mogę połączyć wiele tabel SQL przy użyciu identyfikatorów?

Chcesz czegoś bardziej takiego:

SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
    JOIN TableB
        ON TableB.aID = TableA.aID
    JOIN TableC
        ON TableC.cID = TableB.cID
    JOIN TableD
        ON TableD.dID = TableA.dID
WHERE DATE(TableC.date)=date(now()) 

W swoim przykładzie nie uwzględniasz TableD . Wszystko, co musisz zrobić, to wykonać kolejne sprzężenie, tak jak robiłeś to wcześniej.

Uwaga:zauważysz, że usunąłem wiele twoich nawiasów, ponieważ tak naprawdę nie są one potrzebne w większości przypadków, w których je miałeś, a jedynie wprowadzają zamieszanie podczas próby odczytania kodu. Właściwe zagnieżdżanie to najlepszy sposób, aby kod był czytelny i oddzielony.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wypełnić dziury w polach autoinkrementacji?

  2. Jak uzupełnić ciąg znakami wiodącymi/końcowymi w MySQL — LPAD(), RPAD()

  3. Nie można było nawiązać połączenia, ponieważ maszyna docelowa aktywnie je odrzuciła (PHP / WAMP)

  4. Jak uzyskać rozmiar bazy mysql?

  5. Jak uzyskać rozmiar tabeli MySQL dla tabel w bazie danych?