From 04b6d9bca7aeff4b787e4be13b859734f6fdd0a3 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 8 Oct 2018 17:36:08 +0800 Subject: [PATCH] fix join sub query --- statement.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/statement.go b/statement.go index 7a59d9f3..cd59c376 100644 --- a/statement.go +++ b/statement.go @@ -764,7 +764,9 @@ func (statement *Statement) Join(joinOP string, tablename interface{}, condition statement.lastError = err return statement } - fmt.Fprintf(&buf, "(%s) %s ON %v", subSQL, tp.TableName(), condition) + tbs := strings.Split(tp.TableName(), ".") + var aliasName = strings.Trim(tbs[len(tbs)-1], statement.Engine.QuoteStr()) + fmt.Fprintf(&buf, "(%s) %s ON %v", subSQL, aliasName, condition) statement.joinArgs = append(statement.joinArgs, subQueryArgs...) case *builder.Builder: subSQL, subQueryArgs, err := tp.ToSQL() @@ -772,7 +774,9 @@ func (statement *Statement) Join(joinOP string, tablename interface{}, condition statement.lastError = err return statement } - fmt.Fprintf(&buf, "(%s) %s ON %v", subSQL, tp.TableName(), condition) + tbs := strings.Split(tp.TableName(), ".") + var aliasName = strings.Trim(tbs[len(tbs)-1], statement.Engine.QuoteStr()) + fmt.Fprintf(&buf, "(%s) %s ON %v", subSQL, aliasName, condition) statement.joinArgs = append(statement.joinArgs, subQueryArgs...) default: tbName := statement.Engine.TableName(tablename, true)