Как найти рекурсивно самосоединенные записи из таблицы - PullRequest
1 голос
/ 29 января 2010

У меня есть простая проблема, которая действительно ставит меня в тупик.

У меня есть главная таблица Таблица X

Table X
ID
_________
1
2
3
4
5

У меня есть таблица соединения для таблицы X, которая позволяет записямбыть самостоятельнымДавайте назовем это JoinTableX

JoinTableX
RecordAID RecordBID
--------- --------
1         2        (So Record 1 from Table X has a link to Record 2 from Table X)
1         3
1         4
2         3
2         4
3         1
3         2
4         1
4         2

Итак, как мне написать SQL-запрос, чтобы показать мне все записи в JoinTableX, имеющие дублирующуюся зависимость друг от друга (пример, приведенный в Таблице X, Запись 1 связана с Таблицей X Запись4 и Таблица X Запись 4 связана с Таблицей X Запись 1.

Ответы [ 2 ]

4 голосов
/ 29 января 2010
select *
from JoinTableX a
inner join JoinTableX b on a.RecordAID = b.RecordBID 
    and a.RecordBID = b.RecordAID
1 голос
/ 29 января 2010
(SELECT RecordAID, RecordBID FROM JoinTableX)
INTERSECT
(SELECT RecordBID, RecordAID FROM JoinTableX)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...