From ba131dd9a04c4aff14a4044c6905682683eb4d58 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 12 Mar 2015 22:26:45 +0800 Subject: [PATCH] resolved #199 --- session.go | 12 ++++++++++-- statement.go | 22 +++++++++++++++------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/session.go b/session.go index 62a423b9..f5dc9b89 100644 --- a/session.go +++ b/session.go @@ -1173,11 +1173,19 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) var columnStr string = session.Statement.ColumnStr if session.Statement.JoinStr == "" { if columnStr == "" { - columnStr = session.Statement.genColumnStr() + if session.Statement.GroupByStr != "" { + columnStr = session.Statement.Engine.Quote(strings.Replace(session.Statement.GroupByStr, ",", session.Engine.Quote(","), -1)) + } else { + columnStr = session.Statement.genColumnStr() + } } } else { if columnStr == "" { - columnStr = "*" + if session.Statement.GroupByStr != "" { + columnStr = session.Statement.Engine.Quote(strings.Replace(session.Statement.GroupByStr, ",", session.Engine.Quote(","), -1)) + } else { + columnStr = "*" + } } } diff --git a/statement.go b/statement.go index 998d8d68..b8f85971 100644 --- a/statement.go +++ b/statement.go @@ -1142,13 +1142,21 @@ func (statement *Statement) genGetSql(bean interface{}) (string, []interface{}) statement.BeanArgs = args var columnStr string = statement.ColumnStr - if statement.JoinStr == "" { - if columnStr == "" { - columnStr = statement.genColumnStr() + if len(statement.JoinStr) == 0 { + if len(columnStr) == 0 { + if statement.GroupByStr != "" { + columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1)) + } else { + columnStr = statement.genColumnStr() + } } } else { - if columnStr == "" { - columnStr = "*" + if len(columnStr) == 0 { + if statement.GroupByStr != "" { + columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1)) + } else { + columnStr = "*" + } } } @@ -1198,12 +1206,12 @@ func (statement *Statement) genCountSql(bean interface{}) (string, []interface{} } func (statement *Statement) genSelectSql(columnStr string) (a string) { - if statement.GroupByStr != "" { + /*if statement.GroupByStr != "" { if columnStr == "" { columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1)) } //statement.GroupByStr = columnStr - } + }*/ var distinct string if statement.IsDistinct { distinct = "DISTINCT "