Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbinden Sie 4 Tabellen in einer SQL-Abfrage

Ihre aktuelle Abfrage wird nur dann ein Ergebnis auflisten, wenn alle Tabellen einen Link mit Ihrem Freundestisch haben. Ich glaube, Sie suchen eher nach so etwas

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'

oder etwas besser lesbar und einfacher einzustellen auf Kosten von etwas Leistung

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