Я использую psql и соединил три таблицы A, B и C из таблицы A.
Например, результирующая таблица выглядит следующим образом:
+----+------+------+------+
| pk | a_id | b_id | c_id |
+----+------+------+------+
| 1 | 5 | 12 | 16 |
| 2 | 5 | 7 | 8 |
| 3 | 5 | 6 | 21 |
| 4 | 8 | 12 | 16 |
| 5 | 8 | 3 | 9 |
| 6 | 9 | 11 | 32 |
| 7 | 9 | 8 | 2 |
+----+------+------+------+
Я пытаюсь создать отношения c_id поверх a_id. В a_id есть три группы [5,8,9]. Например, c_id = 16 имеет отношение к a_id = [5,8], поэтому c_id = [8,21,9,32] должен быть защищен через a_id = [5,8]. И итоговая таблица должна выглядеть следующим образом:
+----+------+------+------+
| pk | a_id | b_id | c_id |
+----+------+------+------+
| 1 | 5 | 12 | 16 |
| 2 | 5 | 7 | 8 |
| 3 | 5 | 6 | 21 |
| 4 | 8 | 12 | 16 |
| 5 | 8 | 3 | 9 |
+----+------+------+------+
Как я могу написать такое условие в операторе соединения?