diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java index 10b51b80db..c1d0d2dbf0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Subquery.java @@ -209,6 +209,14 @@ public class Subquery extends Expr { return ret; } + @Override + public Expr reset() { + super.reset(); + stmt.reset(); + analyzer = null; + return this; + } + @Override protected void toThrift(TExprNode msg) {} } diff --git a/regression-test/data/query_p0/subquery/test_subquery.out b/regression-test/data/query_p0/subquery/test_subquery.out index ed330ebd33..7e6eb1ea5b 100644 --- a/regression-test/data/query_p0/subquery/test_subquery.out +++ b/regression-test/data/query_p0/subquery/test_subquery.out @@ -7,3 +7,8 @@ -- !sql2 -- 1 1989 +-- !sql3 -- +1 +2 +3 + diff --git a/regression-test/suites/query_p0/subquery/test_subquery.groovy b/regression-test/suites/query_p0/subquery/test_subquery.groovy index 6e6f794a57..f52f0caff2 100644 --- a/regression-test/suites/query_p0/subquery/test_subquery.groovy +++ b/regression-test/suites/query_p0/subquery/test_subquery.groovy @@ -31,4 +31,9 @@ suite("test_subquery") { with base as (select k1, k2 from test_query_db.test as t where k1 in (select k1 from test_query_db.baseall where k7 = 'wangjuoo4' group by 1 having count(distinct k7) > 0)) select * from base limit 10; """ + + qt_sql3 """ + SELECT k1 FROM test_query_db.test GROUP BY k1 HAVING k1 IN (SELECT k1 FROM test_query_db.baseall WHERE + k2 >= (SELECT min(k3) FROM test_query_db.bigtable WHERE k2 = baseall.k2)) order by k1; + """ }