diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 01fe847d0a..c7244f0ed6 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -1119,12 +1119,13 @@ public class DataSetTableService { if (fromItem.getAlias() == null) { throw new Exception("Failed to parse sql, Every derived table must have its own alias!"); } - subSelect.setAlias(new Alias(fromItem.getAlias().toString())); + subSelect.setAlias(new Alias(fromItem.getAlias().toString(), false)); } plainSelect.setFromItem(subSelect); } List joins = plainSelect.getJoins(); if (joins != null) { + List joinsList = new ArrayList<>(); for (Join join : joins) { FromItem rightItem = join.getRightItem(); if (rightItem instanceof SubSelect) { @@ -1139,14 +1140,13 @@ public class DataSetTableService { if (rightItem.getAlias() == null) { throw new Exception("Failed to parse sql, Every derived table must have its own alias!"); } - subSelect.setAlias(new Alias(rightItem.getAlias().toString())); + subSelect.setAlias(new Alias(rightItem.getAlias().toString(), false)); } - List joinsList = new ArrayList<>(); join.setRightItem(subSelect); joinsList.add(join); - plainSelect.setJoins(joinsList); } } + plainSelect.setJoins(joinsList); } Expression expr = plainSelect.getWhere(); if (expr == null) {