Reverted: Bug SQL Count Distinct command in GenericDAO.java 
(OFBIZ-5701)

Reverts
trunk r1804319
R16.11 r1804320
R15.12 r1804321
R14.12 r1804322
R13.07 r1804323

This raised 2 issues:
  MSSQL as reported by Wei Zhang in OFBIZ-9676
  Dynamic View Entities as reported by Pawan Verma in OFBIZ-5701

I asked kieuanhvu to see if he can provide a new patch taking these 2 issues in
consideration


git-svn-id: https://svn.apache.org/repos/asf/ofbiz/branches/release14.12@1810054 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/entity/src/org/ofbiz/entity/datasource/GenericDAO.java b/framework/entity/src/org/ofbiz/entity/datasource/GenericDAO.java
index 6d6d723..c7e41a1 100644
--- a/framework/entity/src/org/ofbiz/entity/datasource/GenericDAO.java
+++ b/framework/entity/src/org/ofbiz/entity/datasource/GenericDAO.java
@@ -1024,7 +1024,6 @@
         }
 
         boolean isGroupBy = false;
-        boolean isCountGroup = false;
         ModelViewEntity modelViewEntity = null;
         if (modelEntity instanceof ModelViewEntity) {
             modelViewEntity = (ModelViewEntity) modelEntity;
@@ -1055,20 +1054,11 @@
                     // if the field has a function already we don't want to count just it, would be meaningless
                     sqlBuffer.append("COUNT(DISTINCT *) ");
                 } else {
-                    isCountGroup = true;
-                    StringBuilder sqlBufferTMP = new StringBuilder("SELECT COUNT(*) FROM(");
-                    sqlBuffer.append("DISTINCT ");
-                    for (int i = 0; i < selectFields.size() - 1; i++) {
-                        ModelViewEntity.ModelAlias tmpMA = modelViewEntity != null ? modelViewEntity.getAlias(selectFields.get(i).getName()) : null;
-                        if (tmpMA != null && !tmpMA.getColAlias().isEmpty()) {
-                            sqlBuffer.append(selectFields.get(i).getColValue() + " as " + tmpMA.getColAlias() + ",");
-                        } else {
-                            sqlBuffer.append(selectFields.get(i).getColValue() + ",");
-                        }
-                    }
-                    sqlBuffer.append(selectFields.get(selectFields.size() - 1).getColValue());
-                    sqlBufferTMP.append(sqlBuffer);
-                    sqlBuffer = sqlBufferTMP;
+                    sqlBuffer.append("COUNT(DISTINCT ");
+                    // this only seems to support a single column, which is not desirable but seems a lot better than no columns or in certain cases all columns
+                    sqlBuffer.append(firstSelectField.getColValue());
+                    // sqlBuffer.append(modelEntity.colNameString(selectFields, ", ", "", datasource.aliasViews));
+                    sqlBuffer.append(")");
                 }
             } else {
                 sqlBuffer.append("COUNT(DISTINCT *) ");
@@ -1108,9 +1098,6 @@
         if (isGroupBy) {
             sqlBuffer.append(") TEMP_NAME");
         }
-        if (isCountGroup) {
-            sqlBuffer.append(") TEMP_COUNT_NAME");
-        }
 
         String sql = sqlBuffer.toString();
         if (Debug.verboseOn()) Debug.logVerbose("Count select sql: " + sql, module);