我经历了一种奇怪的行为,并且我已经在考虑寻找适当的收缩方法。有人可以在这里解释这个吗?
此选择返回的是我想要的:
SELECT struc~node,struc~tree_level,struc~parent,
strut~ltext,
mar~matnr, mar~mtart, mar~matkl,
mtx~maktx
FROM wrf_matgrp_struc AS struc
LEFT OUTER JOIN wrf_matgrp_strct AS strut
ON strut~hier_id = struc~hier_id
AND strut~node = struc~node
LEFT OUTER JOIN wrf_matgrp_sku AS sku
ON sku~hier_id = struc~hier_id
AND sku~node = struc~node
LEFT OUTER JOIN mara AS mar
ON mar~matnr = sku~matnr
LEFT OUTER JOIN maw1 AS maw
ON maw~matnr = mar~matnr
LEFT OUTER JOIN makt AS mtx
ON mtx~matnr = mar~matnr
AND mtx~spras = strut~spras
INTO TABLE @lt_result_tab
WHERE struc~hier_id = @gs_act_hier-hier_id
AND struc~node IN @grt_node
AND struc~date_from <= @sy-datum
AND struc~date_to >= @sy-datum
AND strut~spras = @sy-langu
AND mar~matnr IN @grt_matnr
AND mar~matkl IN @grt_matkl
AND maw~wekgr IN @grt_wekgr
我删除了连接 AND mtx〜spras = strut〜spras ,并将其放置在这样的条件下,但无法按预期工作(结果集不完整)。
SELECT struc~node,struc~tree_level,struc~parent,
strut~ltext,
mar~matnr, mar~mtart, mar~matkl,
mtx~maktx
FROM wrf_matgrp_struc AS struc
LEFT OUTER JOIN wrf_matgrp_strct AS strut
ON strut~hier_id = struc~hier_id
AND strut~node = struc~node
LEFT OUTER JOIN wrf_matgrp_sku AS sku
ON sku~hier_id = struc~hier_id
AND sku~node = struc~node
LEFT OUTER JOIN mara AS mar
ON mar~matnr = sku~matnr
LEFT OUTER JOIN maw1 AS maw
ON maw~matnr = mar~matnr
LEFT OUTER JOIN makt AS mtx
ON mtx~matnr = mar~matnr
INTO TABLE @lt_result_tab
WHERE struc~hier_id = @gs_act_hier-hier_id
AND struc~node IN @grt_node
AND struc~date_from <= @sy-datum
AND struc~date_to >= @sy-datum
AND strut~spras = @sy-langu
AND mar~matnr IN @grt_matnr
AND mar~matkl IN @grt_matkl
AND maw~wekgr IN @grt_wekgr
AND mtx~spras = @sy-langu.