У меня есть таблица PostgreSQL, которая выглядит примерно так:
+------+----------+----------+------------+
| id | group_id | role | subject_id |
+------+----------+----------+------------+
| A-L1 | A | leader | 1 |
| A-F2 | A | follower | 2 |
| A-F3 | A | follower | 3 |
| B-L4 | B | leader | 4 |
| B-F5 | B | follower | 5 |
| B-F6 | B | follower | 6 |
| B-F7 | B | follower | 7 |
| C-L8 | C | leader | 8 |
| C-F9 | C | follower | 9 |
+------+----------+----------+------------+
Я хочу выбрать парные комбинации из этой таблицы, но только внутри каждой группы и только те парные комбинации, в которых участвует «лидер».роль.Например.результат должен выглядеть следующим образом:
+---------+-----------+-------------+
| pair_id | leader_id | follower_id |
+---------+-----------+-------------+
| A-L1-F2 | A-L1 | A-F2 |
| A-L1-F3 | A-L1 | A-F3 |
| B-L4-F5 | B-L4 | B-F5 |
| B-L4-F6 | B-L4 | B-F6 |
| B-L4-F7 | B-L4 | B-F7 |
| C-L8-F9 | C-L8 | C-F9 |
+---------+-----------+-------------+
Поскольку я буду делать этот запрос много раз, я бы хотел превратить его в представление.Любые предложения по коду SQL я могу использовать для этого?На данный момент я ничего не пробовал, потому что я не уверен, с чего начать, и только начинаю работать с SQL.