diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 309b98bc906789..ad2aa783307ee1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -931,7 +931,9 @@ public LogicalPlan visitDelete(DeleteContext ctx) { partitionSpec.second, query); } else { // convert to insert into select - query = withRelations(query, ctx.relations().relation()); + if (ctx.USING() != null) { + query = withRelations(query, ctx.relations().relation()); + } query = withFilter(query, Optional.ofNullable(ctx.whereClause())); Optional cte = Optional.empty(); if (ctx.cte() != null) { diff --git a/regression-test/suites/nereids_p0/delete/delete_cte.groovy b/regression-test/suites/nereids_p0/delete/delete_cte.groovy index 080c760b51e5ad..711ba1dac4f752 100644 --- a/regression-test/suites/nereids_p0/delete/delete_cte.groovy +++ b/regression-test/suites/nereids_p0/delete/delete_cte.groovy @@ -113,6 +113,9 @@ suite('nereids_delete_cte') { """ qt_sql "select * from ${t1} order by id, id1" + + // test cte != null and using == null + sql """with cte as (select 1) delete from ${t1} where ${t1}.id = 100""" } } } \ No newline at end of file