Скажем, у меня есть отношение (СОТРУДНИК), такое как это:
+---------+-----------+---------+
| Manager | Researcher| Project |
+---------------------+---------+
| A1 | A2 | P1 |
| A2 | A1 | P2 |
| A2 | A3 | P2 |
| A3 | A2 | P3 |
| A1 | A3 | P3 |
--------------------------------+
В приведенной выше таблице описывается, в каком проекте работал менеджер, а работал исследователь.
Я хочу найти сотрудников, которые работали над проектом в качестве исследователя, которым управляет другой сотрудник, в то время как этот сотрудник работал исследователем в одном из проектов, который также управляется другим сотрудником.
А1 работал в P1 менеджером, а А2 работал исследователем. В проекте P2 А2 работал менеджером, а А1 работал исследователем. Поэтому я хочу собрать имена А1 и А2 вместе. Порядок не важен. То же самое для пар А2 и А3, но не для А1 и А3.
Так что результат, который я хочу получить, будет:
+-------+------------+
| Name1 | Name2 |
+--------------------+
| A1 | A2 |
| A2 | A3 |
----------------------
Как я могу получить это отношение, используя реляционную алгебру.