fix join sub query

This commit is contained in:
Lunny Xiao 2018-10-08 17:36:08 +08:00
parent 7e0535415b
commit 04b6d9bca7
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
1 changed files with 6 additions and 2 deletions

View File

@ -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)