приведена следующая таблица
KID | CROSS_LINK | KEY | GROUP_KEY
--------|------------|--------|-----------
COR001 | | 711768 | 336406
EXP001 | | 740194 | 336406
POD002 | DPR002 | 712408 | 336406
POD003 | POD002 | 718445 | 336406
DPR001 | | 711825 | 336406
TRC001 | | 713773 | 336406
DPR002 | | 712199 | 336406
POD001 | DPR001 | 712191 | 336406
POD004 | POD001 | 815174 | 336406
POD005 | POD003 | 815181 | 336406
POD002 | DPR001 | 478800 | 475873
POD005 | POD002 | 300266 | 475873
DPR001 | | 300202 | 475873
мое заявление sql
select level lvl, kid, CONNECT_BY_ROOT CROSS_LINK as father, key, group_key
from t
start with CROSS_LINK is not null
CONNECT BY PRIOR kid = CROSS_LINK
order by GROUP_KEY
вы можете рассматривать CROSS_LINK как столбец отца.
Моя цель - показать всех отцов (прямых и косвенных в иерархии) KID в GROUP_KEY.
Этот запрос не выполняется внутри GROUP_KEY изолированным способом. Вы можете наблюдать проблему в поведении KID 'POD005'. На следующем изображении я выделил неправильную линию.