Я пытаюсь найти 2-й степени дружбы из таблицы (TBL) с 2-мя колонками (пользователь | другу)Вторая степень дружбы SQL - Круговая вопрос дружбы
Я могу перечислить всех друзей, имеющих 2-й степени дружба, но что, если мне нужно исключить тех, кто является первой степенью, я столкнулся с проблемой круговой дружбы
ex.
user | friend
-------------
Doge | Cate
Cate | Narwhal
Narwhal | Doge
(и многие другие записи)
с использованием JOIN
на тот же стол, установив t1.friend = t2.user
, я могу найти все трио, которые соединены через средний человек, но в этом круговом примере дружбы, я могу» t найти способ устранить это. Если у меня есть
Doge | Cate | Narwhal
Cate | Narwhal | Doge
Narwhal | Doge | Cate
как мой результат воздаем, как отфильтровать эту круговую дружбу и исключить его?
Это не совсем то, но я понял, что я пропускаю из вашего ответа. Кажется, что я занимаюсь только двумя столами, и мне нужно 3, чтобы проверить круговую дружбу. Второй 'JOIN' решает проблему – JChao