SQL - 3 уровня иерархического запроса с CONNECT BY? - PullRequest
0 голосов
/ 04 декабря 2011

Допустим, у вас есть 3 уровня иерархии следующим образом: Домашнее хозяйство (1-м) -> Персона (1-м) -> Счет

Но есть только 2 таблицы:

Персона (3 столбца):

Person_id, person_name, household_key

и

Аккаунт (3 столбца):

Account_id, account_name, person_id

Какими способами можно получить запрос, который возвращает эти результаты (т. Е. По заказу домохозяйства, человека, затем аккаунта):

Household_key     Person_id     Account_id
1                     1             456              
1                     2             763
1                     2             801
1                     2             822
2                     3              54
2                     4              68

1 Ответ

3 голосов
/ 04 декабря 2011

Судя по желаемому результату, который не похож на запрос иерархии - попробуйте

SELECT DISTINCT
P.Household_key,
P.Person_id,
A.Account_id
FROM
Person P
INNER JOIN Account A ON P.Person_id = A.Person_id
ORDER BY 
P.Household_key,
P.Person_id,
A.Account_id

ЕСЛИ я ошибаюсь, ТОГДА вам нужно будет показать некоторые образцы данных в таблицах Person и Account.

...