Здравствуйте!
Есть 2 таблицы:
users: friends:
Необходимо вывести общих друзей пользователей Саши (id 1) и Димы (id 49519). Исходя из таблицы, общие друзья у них Петя (id 2) и Вася (id 3).
Список всех друзей пользователя, вывожу таким запросом:
$id = '49519'; # id пользователя
$userid = '1'; # Мой id
$rows = $db->selectPage($total, "SELECT * FROM ?_friends f1
LEFT JOIN ?_friends f2 ON (f1.friend1 = f2.friend2 AND f2.friend1 = f1.friend2)
LEFT JOIN ?_users u ON (f1.friend2 = u.user_id OR f2.friend1 = u.user_id)
WHERE f1.friend1 = ".$id."
UNION
SELECT * FROM ?_friends f1
RIGHT JOIN ?_friends f2 ON (f1.friend1 = f2.friend2 AND f2.friend1 = f1.friend2)
LEFT JOIN ?_users u ON (f1.friend1 = u.user_id OR f2.friend1 = u.user_id)
WHERE f2.friend2 = ".$id.");
Гуглил по этой теме, находил обсуждения, но не получается подогнать под свой запрос.
Подскажите пожалуйста, как мне переделать запрос, чтобы вывести список общих друзей?
Заранее благодарю!