I have a SQL scenario. Could you please help me with the solutions for the same?
I have 2 Tables Account & Credit_Score, with the schema as below.
------------- Account Table ------------- Account_Number Score A1 600 A2 600 B1 700 B2 700 B3 700 C1 800 C2 800 ------------------- Credit_Score Table ------------------- Score Balance 600 1000 700 6000 800 8000
Now, I want a query which can give me a output as shown below. The balance amount gets splitted amongst the Account Holders having similar Score.
------------------------------ Account_Number | Balance ------------------------------ A1 500 A2 500 B1 2000 B2 2000 B3 2000 C1 4000 C2 4000
Advertisement
Answer
You can use window functions:
select a.*, cs.balance / count(*) over (partition by cs.score) as balance from account a join credit_score cs on cs.score = a.score;