diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java b/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java index c1b523720b..c68203008a 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/query/EntityKeyMapping.java @@ -162,13 +162,17 @@ public class EntityKeyMapping { public String toSelection(EntityFilterType filterType, EntityType entityType) { if (entityKey.getType().equals(EntityKeyType.ENTITY_FIELD)) { - Set existingEntityFields = getExistingEntityFields(filterType, entityType); - String alias = getEntityFieldAlias(filterType, entityType); - if (existingEntityFields.contains(alias)) { - String column = entityFieldColumnMap.get(alias); - return String.format("e.%s as %s", column, getValueAlias()); + if (entityKey.getKey().equals("entityType") && !filterType.equals(EntityFilterType.RELATIONS_QUERY)) { + return String.format("'%s' as %s", entityType.name(), getValueAlias()); } else { - return String.format("'' as %s", getValueAlias()); + Set existingEntityFields = getExistingEntityFields(filterType, entityType); + String alias = getEntityFieldAlias(filterType, entityType); + if (existingEntityFields.contains(alias)) { + String column = entityFieldColumnMap.get(alias); + return String.format("e.%s as %s", column, getValueAlias()); + } else { + return String.format("'' as %s", getValueAlias()); + } } } else if (entityKey.getType().equals(EntityKeyType.TIME_SERIES)) { return buildTimeSeriesSelection();