From e77b9e72fa5ae8e173d506a4e154ba64214c4aff Mon Sep 17 00:00:00 2001 From: j2gg0s Date: Mon, 6 Jan 2025 17:34:39 +0800 Subject: [PATCH] fix: apply join condition to select with count Close #597 --- query_select.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/query_select.go b/query_select.go index 11761bb96..b079537c3 100644 --- a/query_select.go +++ b/query_select.go @@ -537,6 +537,13 @@ func (q *SelectQuery) appendQuery( return nil, err } + if err := q.forEachInlineRelJoin(func(j *relationJoin) error { + j.applyTo(q) + return nil + }); err != nil { + return nil, err + } + b = append(b, "SELECT "...) if len(q.distinctOn) > 0 { @@ -730,8 +737,6 @@ func (q *SelectQuery) appendColumns(fmter schema.Formatter, b []byte) (_ []byte, func (q *SelectQuery) appendInlineRelColumns( fmter schema.Formatter, b []byte, join *relationJoin, ) (_ []byte, err error) { - join.applyTo(q) - if join.columns != nil { table := join.JoinModel.Table() for i, col := range join.columns {