diff --git a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java index aacdab2235..99b70857b6 100644 --- a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java @@ -1069,7 +1069,12 @@ public class ImpalaQueryProvider extends QueryProvider { String whereValue = ""; if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + DatasetTableField field = fieldList.get(0); + if (!request.getIsTree() && (field.getDeExtractType() == DeTypeConstants.DE_INT || field.getDeExtractType() == DeTypeConstants.DE_FLOAT || field.getDeExtractType() == DeTypeConstants.DE_BOOL)) { + whereValue = "(" + StringUtils.join(value, ",") + ")"; + } else { + whereValue = "('" + StringUtils.join(value, "','") + "')"; + } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) {