У меня есть эта таблица, в которой я хотел бы хранить цепочку записей.
CREATE TABLE table_name (
id INT,
unique_id varchar,
reference_id varchar,
);
Я хочу реализовать SQL-запрос для MariDB, который печатает все записи по unique_id со всеми записями reference_id.Примерно так:
| id | unique_id | reference_id | | |
|----|-----------|--------------|---|---|
| 43 | 55544 | | | |
| 45 | 45454 | 43 | | |
| 66 | 55655 | 45 | | |
| 78 | 88877 | 66 | | |
| 99 | 454 | 33 | | |
Я бы хотел, чтобы я выбрал запись 55544, чтобы получить все транзакции, потому что друг друга используют id, который указывает на них.Как я могу реализовать это с помощью рекурсивного CTE?Есть ли лучший способ?
Ожидаемый результат для записи с unique_id 55544:
| id | unique_id | reference_id | | |
|----|-----------|--------------|---|---|
| 43 | 55544 | | | |
| 45 | 45454 | 43 | | |
| 66 | 55655 | 45 | | |
| 78 | 88877 | 66 | | |
Как этот запрос может быть реализован также в HQL?Я хочу использовать его в JPA?