diff --git a/src/sql/rewrite/ob_transform_utils.cpp b/src/sql/rewrite/ob_transform_utils.cpp index b1951d83f9d63fc275cc963ded367e5e0381ae93..fa55123f92979a9c8c6e01bd9392f60a03a880d5 100644 --- a/src/sql/rewrite/ob_transform_utils.cpp +++ b/src/sql/rewrite/ob_transform_utils.cpp @@ -7135,7 +7135,7 @@ int ObTransformUtils::extract_column_contained_expr( LOG_WARN("failed to extract stmt column contained expr", K(ret)); } else { /*do nothing*/ } - } else if (!expr->is_column_ref_expr() && !expr->is_aggr_expr() && !expr->is_win_func_expr() && + } else if (!expr->get_relation_ids().is_empty() && !expr->is_column_ref_expr() && !expr->is_aggr_expr() && !expr->is_win_func_expr() && expr->get_expr_levels().num_members() == 1 && expr->get_expr_levels().has_member(stmt_level) && OB_FAIL(add_var_to_array_no_dup(contain_column_exprs, expr))) { LOG_WARN("failed to push back expr", K(ret));