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

SQL-Abfrage für gemeinsame Freunde

Bei zwei Benutzern @friend1 und @friend2 finden Sie alle Benutzer, die gemeinsame Freunde von ihnen sind:

SELECT user.uid
FROM user
WHERE EXISTS(
    SELECT TOP 1 1 
    FROM Friends 
    WHERE Friends.fuid = @friend1 AND Friends.fapproved = 1 
      AND Friends.fuid2 = User.uid
  )
  AND EXISTS(
    SELECT TOP 1 1 
    FROM Friends 
    WHERE Friends.fuid = @friend2 AND Friends.fapproved = 1 
      AND Friends.fuid2 = User.uid
  )