Восстановить иерархический запрос Oracle из двух таблиц

Я работаю над иерархическим запросом Oracle для таблиц ниже Classification_Product и Order_details

Классификационный продукт имеет Classification_id, который будет сохранен в Order_details в соответствии с выбором пользователя.

Классификация Таблица продуктов  Таблица классификации продуктов

Таблица Order_details  Таблица Order_details

Я хочу выбрать все продукты из таблицы Order_details, у которой есть родительский LED Screen, который вернет все продукты, у которых есть родительский LED Screen, независимо от того, какой дочерний элемент - 32 дюйма или 50 дюймов, sony samsung и т. Д.

Я попытался использовать запрос ниже, но он много повторяет строки

           SELECT B.CLASSIFICATION_ID, LEVEL AS VLEVEL, A.CATEGORY_ID, A.CATEGORY_DESC, CONNECT_BY_ISLEAF AS leaf
             FROM PRODUCT_CLASSIFICATION A, ORDER_DETAILS B
            WHERE A.STATUS = 1 and b.created_on like sysdate--AND leaf =1 
       START WITH A.CATEGORY_ID IS NULL
       CONNECT BY A.CATEGORY_ID = PRIOR A.CLASSIFICATION_ID
ORDER SIBLINGS BY A.CLASSIFICATION_ID;

person sam    schedule 17.03.2017    source источник
comment
Сначала запрос дублирует записи, потому что вы не добавляете условие where для связи таблицы B с таблицей A, а затем для каждой записи в таблице B дублируйте результат в таблице A.   -  person hackvan    schedule 17.03.2017