diff --git a/internal/statements/statement.go b/internal/statements/statement.go index e8675443..f8cb6f2d 100644 --- a/internal/statements/statement.go +++ b/internal/statements/statement.go @@ -35,9 +35,8 @@ var ( // Statement save all the sql info for executing SQL type Statement struct { - RefTable *schemas.Table - dialect dialects.Dialect - //Engine *Engine + RefTable *schemas.Table + dialect dialects.Dialect defaultTimeZone *time.Location tagParser *tags.Parser Start int @@ -985,8 +984,13 @@ func (statement *Statement) joinColumns(cols []*schemas.Column, includeTableName func (statement *Statement) CondDeleted(col *schemas.Column) builder.Cond { var colName = col.Name if statement.JoinStr != "" { - colName = statement.quote(statement.TableName()) + - "." + statement.quote(col.Name) + var prefix string + if statement.TableAlias != "" { + prefix = statement.TableAlias + } else { + prefix = statement.TableName() + } + colName = statement.quote(prefix) + "." + statement.quote(col.Name) } var cond = builder.NewCond() if col.SQLType.IsNumeric() { diff --git a/session_find.go b/session_find.go index 72882a28..960c1085 100644 --- a/session_find.go +++ b/session_find.go @@ -99,10 +99,11 @@ func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{}) } } - var table = session.statement.RefTable - - var addedTableName = (len(session.statement.JoinStr) > 0) - var autoCond builder.Cond + var ( + table = session.statement.RefTable + addedTableName = (len(session.statement.JoinStr) > 0) + autoCond builder.Cond + ) if tp == tpStruct { if !session.statement.NoAutoCondition && len(condiBean) > 0 { var err error @@ -111,23 +112,13 @@ func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{}) return err } } else { - // !oinume! Add "