У меня есть следующие данные
Order_ID Pallet_ID
O1 P1
O2 P1
O2 P2
O3 P2
O3 P3
O4 P4
Где заказы могут быть на нескольких поддонах, а на поддоне может быть более одного заказа.Мне нужно выбрать группу заказов, которые составляют группу, так как все они имеют одну и ту же группу поддонов.В данных испытаний, приведенных выше, есть две такие группы, {O1, O2, O3} и {O4}, потому что O1, O2 и O3 имеют как минимум один общий поддон с другим членом группы.
Теперь мне нужно немного SQL для этого.Я попытался (где greg_test содержит данные выше)
select distinct order_id
from greg_test
start with order_id = :order_id
connect by pallet_id = prior pallet_id
Но это дало мне ошибку круговой ссылки (цикл CONNECT BY ORA-01436 в пользовательских данных).Добавление ноцикла не дало правильного набора.