diff --git a/src/main/java/com/alibaba/druid/sql/PagerUtils.java b/src/main/java/com/alibaba/druid/sql/PagerUtils.java index 7fab066394..d9b8eb8867 100644 --- a/src/main/java/com/alibaba/druid/sql/PagerUtils.java +++ b/src/main/java/com/alibaba/druid/sql/PagerUtils.java @@ -323,7 +323,9 @@ public class PagerUtils { SQLSelectItem countItem = createCountItem(dbType); countSelectQuery.getSelectList().add(countItem); - countSelectQuery.setFrom(new SQLSubqueryTableSource(select)); + SQLSubqueryTableSource fromSubquery = new SQLSubqueryTableSource(select); + fromSubquery.setAlias("ALIAS_COUNT"); + countSelectQuery.setFrom(fromSubquery); SQLSelect countSelect = new SQLSelect(countSelectQuery); SQLSelectStatement countStmt = new SQLSelectStatement(countSelect); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_MySql_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_MySql_0.java index 4ca0b17534..8a2c901796 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_MySql_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_MySql_0.java @@ -37,7 +37,7 @@ public class PagerUtilsTest_Count_MySql_0 extends TestCase { "\nFROM (SELECT type, COUNT(*)" + // "\n\tFROM t" + // "\n\tGROUP BY type" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } public void test_mysql_union_0() throws Exception { @@ -49,6 +49,6 @@ public class PagerUtilsTest_Count_MySql_0 extends TestCase { "\n\tUNION" + // "\n\tSELECT id, name" + // "\n\tFROM t2" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_Oracle_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_Oracle_0.java index 8d5384b978..c0858257d6 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_Oracle_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_Oracle_0.java @@ -37,7 +37,7 @@ public class PagerUtilsTest_Count_Oracle_0 extends TestCase { "\nFROM (SELECT type, COUNT(*)" + // "\n\tFROM t" + // "\n\tGROUP BY type" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } public void test_oracle_union_0() throws Exception { @@ -49,6 +49,6 @@ public class PagerUtilsTest_Count_Oracle_0 extends TestCase { "\n\tUNION" + // "\n\tSELECT id, name" + // "\n\tFROM t2" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java index fdc02bba67..af2a7f7acf 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java @@ -37,7 +37,7 @@ public class PagerUtilsTest_Count_PG_0 extends TestCase { "\nFROM (SELECT type, COUNT(*)" + // "\n\tFROM t" + // "\n\tGROUP BY type" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } public void test_pg_union_0() throws Exception { @@ -49,6 +49,6 @@ public class PagerUtilsTest_Count_PG_0 extends TestCase { "\n\tUNION" + // "\n\tSELECT id, name" + // "\n\tFROM t2" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_SQLServer_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_SQLServer_0.java index 2d64e340b2..917982e81c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_SQLServer_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_SQLServer_0.java @@ -37,7 +37,7 @@ public class PagerUtilsTest_Count_SQLServer_0 extends TestCase { "\nFROM (SELECT type, COUNT(*)" + // "\n\tFROM t" + // "\n\tGROUP BY type" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } public void test_sqlserver_union_0() throws Exception { @@ -49,6 +49,6 @@ public class PagerUtilsTest_Count_SQLServer_0 extends TestCase { "\n\tUNION" + // "\n\tSELECT id, name" + // "\n\tFROM t2" + // - "\n\t)", result); + "\n\t) ALIAS_COUNT", result); } }