次のサンプルデータベーススキーマがあります
http://i.stack.imgur.com/EKNxY.jpg

私が欲しいのは:
A)すべての販売、ユーザーごとのグループ化。
B)割引、ユーザーごとのグループ化。
私は次のクエリを使用しています:
FOR A:
    SELECT u.UserID, u.UserName, Sum(d.Quantity * i.Price) AS 'Sales'
FROM OrderDetails d
INNER JOIN Orders o ON o.OrderID = d.OrderID
INNER JOIN Item i ON i.ItemID = d.ItemID
INNER JOIN [User] u ON u.UserID = o.UserID
GROUP BY u.UserID, u.UserName
結果:
 
UserID UserName Sales 
1 Mobeen 11060 
2 Cashier 25960
Bの場合:
    SELECT u.UserID, u.UserName, Sum(r.DiscountAmount) AS Discounts
FROM Receipt r
INNER JOIN Orders o ON o.OrderID = r.OrderID
INNER JOIN [User] u ON u.UserID = o.UserID
GROUP BY u.UserID, u.UserName
結果:
 UserIDUserName
割引
1Mobeen 50 
2 Cashier 310
しかし、その後、両方のクエリを組み合わせることにしましたが、問題は、異なる結果が得られることです。 クエリは次のとおりです。
    SELECT u.UserID,
    u.UserName,
    Sum(d.Quantity * i.Price) AS 'Sales',
    Sum(r.DiscountAmount) AS 'Discounts'
FROM OrderDetails d
INNER JOIN Orders o ON o.OrderID = d.OrderID
INNER JOIN Item i ON i.ItemID = d.ItemID
INNER JOIN [User] u ON u.UserID = o.UserID
INNER JOIN Receipt r ON r.OrderID = o.OrderID
GROUP BY u.UserID, u.UserName
結果:
 UserIDUserName
販売割引
1Mobeen 2270502
キャッシャー25760430