SELECT t1.bill_id, t1.item_code_father,
t1.material_code_father,
t1.technic_status_father,
t1.item_code_child,
t1.material_code_child,
t1.technic_status_child,
ROUND(sf_gettotal_qty(SYS_CONNECT_BY_PATH(t1.qty /
NVL(t1.factor, 1),
'*')),
8) qty,
t1.assembly1_code
FROM edm_bom t1 JOIN edm_materiel_edition t2 ON t1.item_code_child = t2.item_innercode JOIN edm_master t3 ON t2.item_id = t3.item_id
WHERE t1.assembly1_code is not null and --装配路线不为空
t3.PDM_CLASS <> '13' and --不为整入散发件
(t3.p_m = '采购' or t3.PDM_CLASS = '10' or
t3.PDM_CLASS = '11' or PRIOR t3.PDM_CLASS = '13' --采购件,半成品,零合件,整入散发件的子件
)
START WITH t1.item_code_father ='EQ2050F' /* AND
t1.item_code_father NOT IN ('610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00')*/
AND t1.effect_date <= to_date('20100415','yyyymmdd') AND
t1.INVALID_DATE > to_date('20100415','yyyymmdd')
CONNECT BY nocycle PRIOR t1.item_code_child = t1.item_code_father
and t1.item_code_father NOT IN ('610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00')
AND t1.effect_date <= to_date('20100415','yyyymmdd') AND
t1.INVALID_DATE > to_date('20100415','yyyymmdd') AND LEVEL < 21;
这是我错误的代码,我是想对 EQ2050F 下的所有节点进行展开,当遇到父节点为'610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00' 的时候 不向下继续展开;
这个展开的条数不正确,因为 这个展开的条数应该等于 EQ2050F 下所有展开的条数- 以为'610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00' 为父节点展开的条数;是不是我上面的语句写的有问题,请大家帮帮忙看看看应该怎么修改
t1.material_code_father,
t1.technic_status_father,
t1.item_code_child,
t1.material_code_child,
t1.technic_status_child,
ROUND(sf_gettotal_qty(SYS_CONNECT_BY_PATH(t1.qty /
NVL(t1.factor, 1),
'*')),
8) qty,
t1.assembly1_code
FROM edm_bom t1 JOIN edm_materiel_edition t2 ON t1.item_code_child = t2.item_innercode JOIN edm_master t3 ON t2.item_id = t3.item_id
WHERE t1.assembly1_code is not null and --装配路线不为空
t3.PDM_CLASS <> '13' and --不为整入散发件
(t3.p_m = '采购' or t3.PDM_CLASS = '10' or
t3.PDM_CLASS = '11' or PRIOR t3.PDM_CLASS = '13' --采购件,半成品,零合件,整入散发件的子件
)
START WITH t1.item_code_father ='EQ2050F' /* AND
t1.item_code_father NOT IN ('610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00')*/
AND t1.effect_date <= to_date('20100415','yyyymmdd') AND
t1.INVALID_DATE > to_date('20100415','yyyymmdd')
CONNECT BY nocycle PRIOR t1.item_code_child = t1.item_code_father
and t1.item_code_father NOT IN ('610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00')
AND t1.effect_date <= to_date('20100415','yyyymmdd') AND
t1.INVALID_DATE > to_date('20100415','yyyymmdd') AND LEVEL < 21;
这是我错误的代码,我是想对 EQ2050F 下的所有节点进行展开,当遇到父节点为'610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00' 的时候 不向下继续展开;
这个展开的条数不正确,因为 这个展开的条数应该等于 EQ2050F 下所有展开的条数- 以为'610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00' 为父节点展开的条数;是不是我上面的语句写的有问题,请大家帮帮忙看看看应该怎么修改
t1.item_code_father NOT IN ('610001ZJ-A00','610001ZJ-B00','620001ZJ-A00','620001ZJ-B00')