sql >> Base de Datos >  >> RDS >> Mysql

¿Cuáles son las formas de conseguir amigos mutuos en un escenario de amistad (1, 2) (2, 1)?

Mirando el formato de la tabla de su otra pregunta , esto debería hacer lo que quieras;

SELECT name FROM users u
JOIN friends f1
  ON u.uid = f1.uid OR u.uid = f1.fid
JOIN friends f2
  ON u.uid = f2.uid OR u.uid = f2.fid
WHERE (f1.uid=1 OR f1.fid=1) AND (f2.uid=3 OR f2.fid=3) 
  AND u.uid<>1 AND u.uid<>3;

Demostración aquí .