| Version 1 (modified by , 5 days ago) ( diff ) |
|---|
Надминување на вкупниот баланс на сите сметки на корисникот во сегашно време
Овде ќе го собереме моменталниот баланс на сите сметки на корисникот и ќе провериме дали сумата на моменталната трансакцијата ја надминува таа вкупна вредност
WITH total_user_balance AS (
SELECT
u.user_id,
SUM(ta.balance) AS total_balance
FROM
transaction_account ta
JOIN user u ON ta.user_id = u.user_id
GROUP BY
u.user_id
)
SELECT
u.user_id,
u.user_name,
SUM(tb.spent_amount) AS total_transaction_amount,
tub.total_balance AS user_total_balance
FROM
transaction_account ta
JOIN user u ON ta.user_id = u.user_id
JOIN transaction_breakdown tb ON ta.transaction_account_id = tb.transaction_account_id
JOIN transaction t ON tb.transaction_id = t.transaction_id
JOIN total_user_balance tub ON u.user_id = tub.user_id
WHERE
t.date <= CURRENT_DATE -- Само активни трансакции до денешен датум
GROUP BY
u.user_id, u.user_name, tub.total_balance
HAVING
SUM(tb.spent_amount) > tub.total_balance -- Трансакциите го надминуваат ВКУПНИОТ моментален баланс
ORDER BY
u.user_id;
Note:
See TracWiki
for help on using the wiki.
