Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Estrutura e consulta do sistema de amizade Sql


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 irá remover duplicatas. UNION ALL seria mais rápido, mas não remove duplicatas.

Se você deseja obter as informações para os amigos dos MEMBERS mesa, use:
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

BTW:Espero que você esteja usando mysql_escape_string nas variáveis, caso contrário você corre o risco de ataques de injeção de SQL: