Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je joindre plusieurs tables SQL à l'aide des ID ?

Vous voulez quelque chose de plus comme ceci :

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

Dans votre exemple, vous n'incluez pas réellement TableD . Tout ce que vous avez à faire est d'effectuer une autre jointure comme vous l'avez fait auparavant.

Une note :vous remarquerez que j'ai supprimé bon nombre de vos parenthèses, car elles ne sont vraiment pas nécessaires dans la plupart des cas où vous les aviez, et ne font qu'ajouter de la confusion lorsque vous essayez de lire le code. Une imbrication appropriée est le meilleur moyen de rendre votre code lisible et séparé.