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

Friendship System Sql Struktur &Abfrage

Verwendung:

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

Mit UNION wird Duplikate entfernen. UNION ALL wäre schneller, entfernt aber keine Duplikate.

Wenn Sie die Informationen für die Freunde von den MEMBERS erhalten möchten Tabelle, verwenden Sie:

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

Übrigens:Ich hoffe, Sie verwenden mysql_escape_string auf die Variablen, sonst riskieren Sie SQL-Injection-Angriffe: