एक दृष्टिकोण इनलाइन विचारों का उपयोग करना होगा। ऐसा करने के लिए
- एक क्वेरी बनाएं जो अर्जित अंकों का योग करे
- एक प्रश्न बनाएं जो खर्च किए गए बिंदुओं का योग करता है
- एक साथ प्रश्नों में शामिल हों (यदि उन्होंने अभी तक कुछ भी खर्च नहीं किया है तो बाएं शामिल हों)
- अपना घटाव करें
SELECT SumOfPointsEarned.Points - COALESCE(SumOfPointsOfPurchasesMade.Points, 0) AS CurrentPoints
FROM
(
SELECT SUM(Points) AS Points, Recipient_ID
FROM transactions
WHERE Recipient_ID= 137642
GROUP BY Recipient_ID
) AS SumOfPointsEarned
LEFT JOIN
(
SELECT purchases.Student_ID, SUM(rewards.Cost_to_User) AS Points
FROM purchases
INNER JOIN rewards
ON purchases.Reward_ID = rewards.Reward_ID
WHERE Student_ID = 137642
GROUP BY purchases.Student_ID
) AS SumOfPointsOfPurchasesMade
ON SumOfPointsEarned.Recipient_ID = SumOfPointsOfPurchasesMade.Student_ID