У меня есть две таблицы (скажем, «Персона» и «Родитель», где «Родитель-личность»): отношения между многими и одним человеком, поэтому у человека может быть много родителей, прямых и косвенных (grandparents et c). Родитель имеет внешний ключ personId, а первичный ключ Person, конечно же, personId.
Person table
Id <PK>
Parent table
Id<PK>
ParentPersonId <FK into Person >
Person has rows with values PK
1
2
3
Parent has rows with values
1, 2
1, 3
2, 3
so person 1 has parents 2, 3
I eapect to get List<Person>
[ {1, {2,3}}, {2, {3}}, {3} ]
Я использую Spring Boot JDB C для запроса базы данных сервера MS SQL, и я могу получить всех родителей для personId и, конечно, я могу получить список всех людей в таблице Person. Но возможно ли в одном операторе SQL получить список всех лиц и внутри класса, идентификатор списка людей, который является результатом объединения с родительской таблицей?
Или я должен сделать это в 2 шага. Получить список людей, а затем запросить в базе данных список родителей каждого человека?
Я пытаюсь сделать что-то вроде этого, но он говорит «синтаксическая ошибка».
select ID as personId (select * from Parent where personId = parentPersonId) from Person