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

Consulta y Estructura Sql del Sistema de Amistad

Usar:

SELECT f.friend_id
  FROM FRIENDS f
 WHERE f.user_id = $user_id
UNION
SELECT t.user_id
  FROM FRIENDS t
 WHERE t.friend_id = $user_id

Usando UNION eliminará los duplicados. UNION ALL sería más rápido, pero no elimina los duplicados.

Si desea obtener la información de los amigos de MEMBERS tabla, usa:

SELECT m.*
  FROM MEMBERS m
  JOIN (SELECT f.friend_id 'user_id'
          FROM FRIENDS f
         WHERE f.user_id = $user_id
        UNION
        SELECT t.user_id
          FROM FRIENDS t
         WHERE t.friend_id = $user_id) x ON x.user_id = m.id

Por cierto:espero que estés usando mysql_escape_string en las variables, de lo contrario corre el riesgo de ataques de inyección SQL: