У меня есть таблица (см. Ниже), которая содержит список друзей. В каждой строке пользователь может быть либо отправителем, либо получателем (запрашивающим/запрашивающим). Затем статус отслеживает их отношения (статус 1 означает, что они друзья). Но поскольку uid может быть как в отправителе, так и в приемнике, он меня пугает.Найти общие совпадающие идентификаторы
================================
| sender | reciever | status |
--------------------------------
| testusr1 | testusr2 | 1 |
| testusr1 | testusr3 | 1 |
| testusr1 | testusr4 | 0 |
| testusr1 | testusr5 | 1 |
| testusr3 | testusr4 | 1 |
| testusr3 | testusr2 | 1 |
| testusr5 | testusr3 | 1 |
Таким образом, в приведенном выше примере, друзья testusr1 являются: testusr2, testusr3 и testusr5. Друзья testusr3 являются: testusr5, testusr4, testusr2, testusr1
Что я ищу это запрос, который получит общие друзья: testusr2 и testusr5
Scavenging из другого ответа я получил здесь, я думал, Я мог бы сделать профсоюз, но я потерял логику я следовал примерно на полпути через ...
SELECT f.uid
FROM(
(SELECT reciever as uid FROM friends where status=1 and sender='$sentuid')
UNION
(SELECT sender as uid FROM friends where status=1 and reciever='$sentuid')
) f
WHERE ...
Любая помощь будет высоко оценен ...