У меня есть две таблицы TableA и TableB следующим образом:
Table A(ID, PairId)
--Here the Pair represented by PairId will always have 2 elements in it.
Data:
100,1
101,1
-----
104,2
109,2
TableB(A.ID, GroupId)
--Here the Group represented by GroupId will may have any number of elements.
--Also, A.ID means its a foriegn key from TableA
Data:
100,1000
102,1000
103,1000
--------
101,1001
104,1001
105,1001
-------
105,1002
106,1002
107,1002
Учитывая идентификатор из таблицы A (скажем, X),
Найдите идентификаторы своих партнеров,
а затем одноклубники (из предыдущих парных товарищей)
а затем и партнеров (из всех, которые мы нашли в предыдущем шаге)
и их одногруппники (из всех, которые мы нашли в предыдущем шаге) и так далее ....
пока вы не найдете парных или одноклассников.
For instance, given X as 100
you will accumulate data in this fashion:
Include PairMates
100
101
Include GroupMates(of all the ones in prevstep)
100--groupmates of 100
102
103
101--groupmates of 101
104
105
Include PairMates(of all the ones in the prevstep)
100
102
103
101
104--Pairmate of 104
109
105
Include Groupmates(of all the ones in the prev step)
100
102
103
101
104
109
105--Groupmates of 105
106
107
Include Pairmates( of all the ones in the prevstep)
100
102
103
101
104
109
105
106
107
[None found]
Include Groupmates( of all the ones in the prevstep)
100
102
103
101
104
109
105
106
107
[Nonefound]
---since no pairmates and groupmates were added so the recursion ends