Умножьте вновь введенную строку на другое значение столбца и найдите итоговую сумму в SQL

У меня есть 4 таблицы здесь, мне нужно умножить вновь введенное значение строки в таблице с другой строкой и найти общую сумму, используяCustomerId:

CustomerTable:

CustomerId Name   EmailId
-------------------------
1          Paul   [email protected]
2          John   [email protected]

LoyaltyPointTable:

LoyaltyPointsId LoyaltyType     Points
---------------------------------------
1               Registration       10
2               Loginstatus         1
3               Downloading        10
4               Redemming           1
5               Sharing            20
6               Refer              10

LoyaltyDetailsTable:

 LoyaltyDetailsId LoyaltyPointsId CustomerId Dates
 -------------------------------------------------
  1                    1            1       2015-01-22 
  2                    2            1       2015-01-22 
  3                    3            2       2015-01-22
  4                    3            1       2015-01-22 
  5                    4            1       2015-01-22
  6                    4            1       2015-01-24 
  7                    5            1       2015-01-24 

Этот запрос отлично работает на общую сумму для каждогоLoyaltyType

SELECT   
   LoayaltyPointsTable.LoyaltyType,
   COUNT(CustomerTable.CustomerId) AS UserActions,
   SUM(LoayaltyPointsTable.Points) AS TotalPoints 
FROM 
   LoayaltyPointsTable 
JOIN 
   LoyaltyDetailsTable ON LoayaltyPointsTable.LoyaltyPointsId = LoyaltyDetailsTable.LoyaltyPointsId
JOIN
   CustomerTable ON CustomerTable.CustomerId = LoyaltyDetailsTable.CustomerId 
WHERE
   CustomerTable.CustomerId = 1
GROUP BY
   LoyaltyDetailsTable.CustomerId ,LoayaltyPointsTable.LoyaltyType 

нижеRedeemPointsTable создается в связи с погашением строки вLoyaltyPointTable:

RedeemPointsTable:

 RedeemPointsId CustomerId ShopName BillNo Amount
 ------------------------------------------------
 1                   1      Mall x  4757    100
 3                   1      Mall y  SH43    50
 4                   1      Mall x  7743    10
 6                   1      Mall x  s34a    60

То, что я ожидаю, прежде чем рассчитать общую сумму, я хочу столбецAmount сумма(100+50+10+60) * 1 вRedeeming вLoyaltyPointTable должны быть добавлены с общим количеством очков для каждогоCustomerId

Ожидаемый результат

LoyaltyType UserActions TotalPoints
-------------------------------------
Downloading     1        10
Loginstatus     1         1
Redemming       4   (100+50+10+60)*1(here using Amount in RedeemPointsTable)
Refer           1        10
Registration    1        10
Sharing         1        20

Количество действий пользователя равно 4, оно основано наAmount он вошел вRedeemPointsTable

Нужно ли вносить изменения в добавление столбца внешнего ключа вRedeemPointsTable или можешь указать на мою ошибку?

Любая помощь будет отличной.

Ответы на вопрос(1)

Ваш ответ на вопрос