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

Joindre 4 tables dans une requête SQL

Votre requête actuelle ne listera un résultat que si toutes les tables avoir un lien avec votre table d'amis. Je crois que vous cherchez plutôt quelque chose comme ça

SELECT following
FROM   friends
WHERE  follower='id'
UNION ALL 
SELECT following
FROM   family 
WHERE  follower='id'
UNION ALL 
SELECT following
FROM   following
WHERE  follower='id'
UNION ALL 
SELECT following
FROM   acquaintances 
WHERE  follower='id'

ou un peu plus agréable à lire et plus facile à régler au prix de quelques performances

SELECT following 
FROM   (
        SELECT following, follower FROM friends
        UNION ALL SELECT following, follower FROM family 
        UNION ALL SELECT following, follower FROM following
        UNION ALL SELECT following, follower FROM acquaintances 
       ) AS f
WHERE  follower='id'

UNION