【发布时间】:2017-03-17 16:40:43
【问题描述】:
我正在为下表进行 oracle 分层查询
Classification_Product 和 Order_details 表
分类产品有Classification_id,将根据用户选择存储在Order_details中
我想从 Order_details 表中选择所有具有父 LED Screen 的产品,这将返回所有具有父 LED Screen 的产品,无论孩子是 32 英寸或 50 英寸还是索尼三星等
我尝试使用下面的查询,但它的 replate 行很多
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;
【问题讨论】:
-
首先查询复制了记录,因为您没有添加 where 条件来将 B 表与 A 关联起来,然后对于 B 表上的每条记录,复制 A 表上的结果。
标签: oracle oracle12c hierarchical-query