Multiply newly entered row with another column value and find Total Sum in SQL

柔情痞子 提交于 2019-12-01 12:19:40

This is the query which returns desired result:

SELECT 
   LoyaltyPointTable.LoyaltyType, 
   CASE 
      WHEN LoyaltyPointTable.LoyaltyPointsId=4 THEN (SELECT COUNT(amount) FROM RedeemPointsTable where CustomerId=1) 
      ELSE COUNT(CustomerTable.CustomerId) 
   END as UserActions, 
   CASE 
      WHEN LoyaltyPointTable.LoyaltyPointsId=4 THEN (SELECT SUM(amount) FROM RedeemPointsTable where CustomerId=1)*Points
      ELSE SUM(LoyaltyPointTable.Points) 
    END as TotalPoints
FROM 
   LoyaltyPointTable 
JOIN 
   LoyaltyDetailsTable ON LoyaltyPointTable.LoyaltyPointsId =     LoyaltyDetailsTable.LoyaltyPointsId
JOIN
   CustomerTable ON CustomerTable.CustomerId = LoyaltyDetailsTable.CustomerId 
WHERE
   CustomerTable.CustomerId = 1
GROUP BY
   LoyaltyDetailsTable.CustomerId ,LoyaltyPointTable.LoyaltyType 

You can check it here

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!