From 3dd29c1584690894549347325ee0c86a1eb8c560 Mon Sep 17 00:00:00 2001 From: melin Date: Mon, 29 Jul 2013 11:37:29 +0800 Subject: [PATCH] =?UTF-8?q?mysql=20count=20from=E5=AD=90=E8=AF=AD=E5=8F=A5?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=B7=BB=E5=8A=A0alias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/alibaba/druid/sql/PagerUtils.java | 4 +++- .../alibaba/druid/bvt/sql/PagerUtilsTest_Count_MySql_0.java | 4 ++-- .../alibaba/druid/bvt/sql/PagerUtilsTest_Count_Oracle_0.java | 4 ++-- .../com/alibaba/druid/bvt/sql/PagerUtilsTest_Count_PG_0.java | 4 ++-- .../druid/bvt/sql/PagerUtilsTest_Count_SQLServer_0.java | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) 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); } }