diff --git a/plugins/generic/enumeration.py b/plugins/generic/enumeration.py
index ce105442a..d89f59cb3 100644
--- a/plugins/generic/enumeration.py
+++ b/plugins/generic/enumeration.py
@@ -1212,10 +1212,18 @@ class Enumeration:
if kb.dbms == DBMS.ACCESS:
for column in colList:
- # It would be good to have a numeric column as a pivot
- result = inject.checkBooleanExpression("%s" % safeStringFormat("EXISTS(SELECT %s FROM %s WHERE RND(%s)>0)", (column, conf.tbl, column)))
+ infoMsg = "fetching number of distinct "
+ infoMsg += "values for column '%s'" % column
+ logger.info(infoMsg)
+
+ query = rootQuery.blind.count2 % (column, conf.tbl)
+ value = inject.getValue(query, inband=False)
+
+ if isNumPosStrValue(value) and value == count:
+ infoMsg = "using column '%s' as a pivot " % column
+ infoMsg += "for retrieving row data"
+ logger.info(infoMsg)
- if result:
colList.remove(column)
colList.insert(0, column)
break
diff --git a/xml/queries.xml b/xml/queries.xml
index 864084c6c..3cc7cddc2 100644
--- a/xml/queries.xml
+++ b/xml/queries.xml
@@ -359,7 +359,7 @@
-
+