diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/SemiJoinSemiJoinTransposeProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/SemiJoinSemiJoinTransposeProject.java index 73af2fc191..ecd255e01a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/SemiJoinSemiJoinTransposeProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/SemiJoinSemiJoinTransposeProject.java @@ -65,14 +65,12 @@ public class SemiJoinSemiJoinTransposeProject extends OneExplorationRuleFactory Set aOutputExprIdSet = a.getOutputExprIdSet(); Set acProjects = new HashSet(abProject.getProjects()); - bottomSemi.getHashJoinConjuncts().forEach( - expression -> expression.getInputSlots().forEach( - slot -> { - if (aOutputExprIdSet.contains(slot.getExprId())) { - acProjects.add(slot); - } - }) - ); + bottomSemi.getConditionSlot() + .forEach(slot -> { + if (aOutputExprIdSet.contains(slot.getExprId())) { + acProjects.add(slot); + } + }); LogicalJoin newBottomSemi = (LogicalJoin) topSemi.withChildren(a, c); newBottomSemi.getJoinReorderContext().copyFrom(bottomSemi.getJoinReorderContext()); newBottomSemi.getJoinReorderContext().setHasCommute(false);