diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/GlobalVisitor.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/GlobalVisitor.java index 5f05e83ed..1fbe12d68 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/GlobalVisitor.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/GlobalVisitor.java @@ -224,9 +224,12 @@ public class GlobalVisitor extends MysqlVisitor { if (first) { sqlBuilder.append(" on "); } else { - joinOnFilterStr.append(" and "); + joinOnFilterStr.append(" and ("); } joinOnFilterStr.append(join.getOtherJoinOnFilter()); + if (!first) { + joinOnFilterStr.append(")"); + } } sqlBuilder.append(joinOnFilterStr.toString()); if (join.isWithSubQuery() || isTopQuery) { diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/PushDownVisitor.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/PushDownVisitor.java index 2fa092899..eb114c2eb 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/PushDownVisitor.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/builder/sqlvisitor/PushDownVisitor.java @@ -208,9 +208,12 @@ public class PushDownVisitor extends MysqlVisitor { if (first) { sqlBuilder.append(" on "); } else { - joinOnFilterStr.append(" and "); + joinOnFilterStr.append(" and ("); } joinOnFilterStr.append(join.getOtherJoinOnFilter()); + if (!first) { + joinOnFilterStr.append(")"); + } } return joinOnFilterStr; }