したがって、次のように3つのテーブルが結合されています。
私がやりたいことは、クエリでクライアントに指定された基準に該当するすべての保有の合計をクエリすることです。ここに私が持っているものがあります:
SELECT Sum(Holdings.HoldingValue) AS SumOfHoldingValue
FROM (Clients INNER JOIN Accounts
ON Clients.ClientID = Accounts.ClientID)
INNER JOIN Holdings
ON Accounts.AccountID = Holdings.AccNum
GROUP BY Holdings.HoldingDate, Clients.Active, Clients.RiskCode, Clients.NewClient, Clients.BaseCurrency, Clients.ClientID
HAVING (((Holdings.HoldingDate)=#3/31/2013#)
AND ((Clients.Active)=True)
AND ((Clients.RiskCode) In (1,2))
AND ((Clients.NewClient)=True)
AND ((Clients.BaseCurrency)='GBP')
AND ((Clients.ClientID) Not In (10022,10082,10083)));
結果として得られるものの例を次に示します。
SumOfHoldingValue
1056071.96
466595.6
1074459.38
371142.54
814874.42
458203.65
8308697.09
254733.94
583796.33
443897.76
203787.11
1057445.84
1058751.26
317507.43
したがって、クライアント テーブルにはかなりの数の基準がありますが、結果は、SumOfHoldingValue
必要な数値が 1 つだけの場合のリストになります。つまり、すべての保持値の合計です。それらすべてをグループ化して 1 つの合計を形成しないのはなぜですか?