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

Come posso unire più tabelle SQL usando gli ID?

Vuoi qualcosa di più simile a questo:

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()) 

Nel tuo esempio, non stai effettivamente includendo TableD . Tutto quello che devi fare è eseguire un altro join proprio come hai fatto prima.

Una nota:noterai che ho rimosso molte delle tue parentesi, poiché in realtà non sono necessarie nella maggior parte dei casi in cui le avevi, e aggiungo solo confusione quando provi a leggere il codice. Una corretta nidificazione è il modo migliore per rendere il codice leggibile e separato.