私はこのようなテーブルを持っています:(Personal_IDは一意ですが、名前は一意ではなく、繰り返すことができることに注意してください)。
ID SourceID Personal_ID Name NumberOfPurchases
1 4 1001 Alex 10
2 2 1002 Sara 5
3 4 1001 Alex 12
4 1 1003 Mina 200
5 2 1002 Sara 20
6 2 1001 Alex 64
ここで行う必要があるのは、指定されたSourceIDに基づいて各人が行った購入数の合計を取得することです。そのため、次のような結果が得られsourceId = 4
ます。
Name Total Number of Purchases
1. Alex 22
そしてSourceID=2の場合
Name Total Number of Purchases
1. Alex 64
2. Sara 25
このために私はこのようなものを思いついた:
SELECT Name,Sum(NumberOfPurchases) AS Total
FROM tblTEST
GROUP BY (Personal_ID)
HAVING (SOURCEID = @id)
しかし、これは明らかに間違っています。ここで立ち往生しています。他のフィールドを追加するgroup-by clause
と結果が完全に異なり、追加しないと、このselectコマンドは機能しません。どうすればそのような結果を達成できますか?