From d191893ecce6220b2c07eee07b3de7a0de81cd60 Mon Sep 17 00:00:00 2001 From: kevinmenendez Date: Fri, 29 Nov 2024 13:12:32 -0600 Subject: [PATCH 1/3] feat: succesfully complete all challenges Completed all assigned challenges, addressing the required tasks. All solutions are working --- src/answers.sql | 275 ++++++++++++++++++++++++++++++++++++++++++++ src/partitionBy.sql | 35 ++++++ 2 files changed, 310 insertions(+) create mode 100644 src/partitionBy.sql diff --git a/src/answers.sql b/src/answers.sql index 9ad2edc..88b6a36 100644 --- a/src/answers.sql +++ b/src/answers.sql @@ -1,15 +1,290 @@ -- Your answers here: -- 1 +SELECT + type, + SUM(mount) AS total_money +FROM + accounts +GROUP BY + type +ORDER BY + type ASC; + + -- 2 +-- SELECT +-- user_id, +-- COUNT(*) AS current_account_count +-- FROM +-- accounts +-- WHERE +-- type = 'CURRENT_ACCOUNT' +-- GROUP BY +-- user_id +-- HAVING +-- COUNT(*) >=2; posible solution cuzz returns the user_id and the number of current accounts + + + +SELECT + COUNT(*) AS total_users +FROM + ( + SELECT + user_id + FROM + accounts + WHERE + type = 'CURRENT_ACCOUNT' + GROUP BY + user_id + HAVING + COUNT(*) >= 2 + ); -- 3 +SELECT + TYPE, + account_id, + mount +FROM + accounts +ORDER BY + mount DESC +LIMIT + 5; -- 4 +SELECT + user_id, + account_id, + SUM(mount) AS total_money +FROM + accounts +GROUP BY + account_id, + user_id +ORDER BY + total_money DESC +LIMIT + 3; + + + + -- 5 +--(A) First, get the ammount for the account 3b79e403-c788-495a-a8ca-86ad7643afaf and fd244313-36e5-4a17-a27c-f8265bc46590 after all their movements. +SELECT + a.id AS account_id, + a.mount+ + (SUM( + CASE + WHEN m.account_from = a.id THEN -m.mount + WHEN m.account_to = a.id THEN m.mount + END + )) AS final_account_amount, + ARRAY_AGG(ROW( + m.type, + m.account_from, + m.account_to, + m.mount + )) AS movements +FROM + accounts a +INNER JOIN + movements m +ON + a.id IN (m.account_from, m.account_to) +WHERE + a.id IN ('3b79e403-c788-495a-a8ca-86ad7643afaf', 'fd244313-36e5-4a17-a27c-f8265bc46590') +GROUP BY + a.id, a.mount; + + + + +--(B) Add a new movement with the information: from: 3b79e403-c788-495a-a8ca-86ad7643afaf make a transfer to fd244313-36e5-4a17-a27c-f8265bc46590 mount: 50.75 +DO $$ +DECLARE + first_account UUID := '3b79e403-c788-495a-a8ca-86ad7643afaf'; + second_account UUID := 'fd244313-36e5-4a17-a27c-f8265bc46590'; + transfer_amount NUMERIC := 80; +BEGIN + + UPDATE accounts + SET mount = mount - transfer_amount + WHERE id = first_account; + + UPDATE accounts + SET mount = mount + transfer_amount + WHERE id = second_account; + + INSERT INTO movements (id, type, account_from, account_to, mount, created_at, updated_at) + VALUES ( + gen_random_uuid(), + 'TRANSFER', + first_account, + second_account, + transfer_amount, + NOW(), + NOW() + ); + + RAISE NOTICE 'Transferencia completada de % a % con un monto de %', + first_account, second_account, transfer_amount; +END $$; + + + + +----------------------------------------- +--Shows the result of the tranfer-- +----------------------------------------- +SELECT + m.type, + m.account_from, + m.account_to, + m.mount AS transferred_amount +FROM movements m +WHERE m.account_from = '3b79e403-c788-495a-a8ca-86ad7643afaf' + OR m.account_to = '3b79e403-c788-495a-a8ca-86ad7643afaf' +ORDER BY m.created_at ASC; + + + +--(c) Add a new movement with the information: from: 3b79e403-c788-495a-a8ca-86ad7643afaf type: OUT mount: 731823.56 +DO $$ +DECLARE + current_balance NUMERIC; + first_account UUID:= '3b79e403-c788-495a-a8ca-86ad7643afaf'; + out_amount NUMERIC := 731823.56; +BEGIN + + SELECT a.mount INTO current_balance + FROM accounts a + WHERE a.id = first_account; + + IF current_balance < out_amount THEN + RAISE EXCEPTION 'Saldo insuficiente para realizar el movimiento, transacción rechazada'; + END IF; + + INSERT INTO movements (id, type, account_from, account_to, mount, created_at, updated_at) + VALUES ( + gen_random_uuid(), + 'OUT', + first_account, + NULL, + out_amount, + now(), + now() + ); + +EXCEPTION +WHEN OTHERS THEN + RAISE NOTICE '*** Error procesando la transacción con monto %. Saldo disponible: % % ** Haciendo ROLLBACK **', + out_amount, current_balance, CHR(10); + ROLLBACK; + RETURN; + +END $$; + +--(d). Put your answer here if the transaction fails(YES/NO): Yes the is failed cuz the mount is higher than the current balance + +--(e and f). If the transaction fails, make the correction on step c to avoid the failure (the way to avoid the failure is tranfer less money than the current balance) + + +--(g) How much money the account fd244313-36e5-4a17-a27c-f8265bc46590 have: + +SELECT + a.id AS account_id, + a.mount + + SUM( + CASE + WHEN m.account_from = a.id THEN -m.mount + WHEN m.account_to = a.id THEN m.mount + END + )AS total_money +FROM + accounts a +INNER JOIN + movements m +ON + a.id IN (m.account_from, m.account_to) +WHERE + a.id IN ('fd244313-36e5-4a17-a27c-f8265bc46590') +GROUP BY + a.id, a.mount; + + -- 6 +SELECT + u.id AS user_id, + u.name AS user_name, + u.email AS user_email, + a.id AS account_id, + m.id AS movement_id, + m.type AS movement_type, + m.account_from AS account_from, + m.account_to AS account_to +FROM + users u +INNER JOIN + accounts a +ON + u.id = a.user_id +INNER JOIN + movements m +ON + a.id IN (m.account_from, m.account_to) +WHERE + a.id = '3b79e403-c788-495a-a8ca-86ad7643afaf' +ORDER BY + m.created_at ASC; + -- 7 +SELECT + u.name AS user, + u.email AS email, + SUM(a.mount) AS total_money +FROM + users u +INNER JOIN + accounts a +ON + u.id = a.user_id +GROUP BY + u.id, u.name, u.email +ORDER BY + total_money DESC +LIMIT 1; + +--8 +SELECT + u.name AS user_name, + a.id AS account_id, + a.type AS account_type, + m.id AS UUID_movement, + m.type AS movement_type, + m.account_from AS account_from, + m.account_to AS account_to, + m.created_at AS movement_date +FROM + users u +INNER JOIN + accounts a +ON + u.id = a.user_id +LEFT JOIN + movements m +ON + a.id IN (m.account_from, m.account_to) +WHERE + u.email = 'Kaden.Gusikowski@gmail.com' +ORDER BY + a.type ASC, + m.created_at ASC; diff --git a/src/partitionBy.sql b/src/partitionBy.sql new file mode 100644 index 0000000..01f4c8a --- /dev/null +++ b/src/partitionBy.sql @@ -0,0 +1,35 @@ +SELECT + u.id AS user_id, + u.name AS user_name, + u.email AS user_email, + a.id AS account_id, + a.mount AS initial_money, + m.id AS movement_id, + m.type AS movement_type, + m.account_from AS account_from, + m.account_to AS account_to, + m.mount AS movement_amount, + a.mount + + SUM( + CASE + WHEN m.account_from = a.id THEN -m.mount + WHEN m.account_to = a.id THEN m.mount + END + ) OVER ( + PARTITION BY a.id + ORDER BY m.created_at + ) AS total_money +FROM + users u +INNER JOIN + accounts a +ON + u.id = a.user_id +LEFT JOIN + movements m +ON + a.id IN (m.account_from, m.account_to) +WHERE + a.id = '3b79e403-c788-495a-a8ca-86ad7643afaf' +ORDER BY + m.created_at ASC; From c2994bd82ab275e9c4e66dc31ef28b8ee98117fc Mon Sep 17 00:00:00 2001 From: kevinmenendez Date: Fri, 29 Nov 2024 15:36:26 -0600 Subject: [PATCH 2/3] feat: ERD challenge ERD design already done for the laast challenge --- src/ERD_challenge/Ravn_challenge.png | Bin 0 -> 137774 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/ERD_challenge/Ravn_challenge.png diff --git a/src/ERD_challenge/Ravn_challenge.png b/src/ERD_challenge/Ravn_challenge.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ec82a78289872a36ae16ecac323c1290c0a23b GIT binary patch literal 137774 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 s1vPX0k02Ne`9FgAc`*Oq1u?L3DPAX Date: Thu, 5 Dec 2024 18:54:42 -0600 Subject: [PATCH 3/3] fix: all issues was solved -problems with the comments lenguage -same query several times -confusion with the exercise #4 --- src/answers.sql | 156 ++++++++++++++++++++++-------------------------- 1 file changed, 72 insertions(+), 84 deletions(-) diff --git a/src/answers.sql b/src/answers.sql index 88b6a36..2c99778 100644 --- a/src/answers.sql +++ b/src/answers.sql @@ -10,38 +10,24 @@ GROUP BY ORDER BY type ASC; - - -- 2 --- SELECT --- user_id, --- COUNT(*) AS current_account_count --- FROM --- accounts --- WHERE --- type = 'CURRENT_ACCOUNT' --- GROUP BY --- user_id --- HAVING --- COUNT(*) >=2; posible solution cuzz returns the user_id and the number of current accounts - - - +WITH eligible_users AS ( + SELECT + user_id + FROM + accounts + WHERE + type = 'CURRENT_ACCOUNT' + GROUP BY + user_id + HAVING + COUNT(*) >= 2 +) SELECT COUNT(*) AS total_users FROM - ( - SELECT - user_id - FROM - accounts - WHERE - type = 'CURRENT_ACCOUNT' - GROUP BY - user_id - HAVING - COUNT(*) >= 2 - ); + eligible_users; + -- 3 SELECT @@ -56,20 +42,22 @@ LIMIT 5; -- 4 -SELECT - user_id, - account_id, - SUM(mount) AS total_money -FROM - accounts -GROUP BY - account_id, - user_id -ORDER BY - total_money DESC -LIMIT - 3; +SELECT + usr.id AS user_uuid, + SUM(CASE + WHEN mov.type = 'IN' THEN mov.mount + WHEN mov.type IN ('OUT', 'TRANSFER', 'OTHER') THEN -mov.mount + ELSE 0 + END) + SUM(act.mount) AS final_balance +FROM users usr +INNER JOIN accounts act + ON usr.id = act.user_id +INNER JOIN movements mov + ON mov.account_from = act.id +GROUP BY usr.id +ORDER BY final_balance DESC +LIMIT 3; @@ -86,12 +74,6 @@ SELECT WHEN m.account_to = a.id THEN m.mount END )) AS final_account_amount, - ARRAY_AGG(ROW( - m.type, - m.account_from, - m.account_to, - m.mount - )) AS movements FROM accounts a INNER JOIN @@ -109,9 +91,9 @@ GROUP BY --(B) Add a new movement with the information: from: 3b79e403-c788-495a-a8ca-86ad7643afaf make a transfer to fd244313-36e5-4a17-a27c-f8265bc46590 mount: 50.75 DO $$ DECLARE - first_account UUID := '3b79e403-c788-495a-a8ca-86ad7643afaf'; - second_account UUID := 'fd244313-36e5-4a17-a27c-f8265bc46590'; - transfer_amount NUMERIC := 80; + issuing_account UUID := '3b79e403-c788-495a-a8ca-86ad7643afaf'; + receiving_account UUID := 'fd244313-36e5-4a17-a27c-f8265bc46590'; + transfer_amount NUMERIC := 50.75; BEGIN UPDATE accounts @@ -126,15 +108,15 @@ BEGIN VALUES ( gen_random_uuid(), 'TRANSFER', - first_account, - second_account, + issuing_account, + receiving_account, transfer_amount, NOW(), NOW() ); - RAISE NOTICE 'Transferencia completada de % a % con un monto de %', - first_account, second_account, transfer_amount; + RAISE NOTICE 'Transaction completed from % to % with the amount of %', + issuing_account, receiving_account, transfer_amount; END $$; @@ -150,7 +132,7 @@ SELECT m.mount AS transferred_amount FROM movements m WHERE m.account_from = '3b79e403-c788-495a-a8ca-86ad7643afaf' - OR m.account_to = '3b79e403-c788-495a-a8ca-86ad7643afaf' + OR m.account_to = '3b79e403-c788-495a-a8ca-86ad7643afaf' ORDER BY m.created_at ASC; @@ -159,64 +141,69 @@ ORDER BY m.created_at ASC; DO $$ DECLARE current_balance NUMERIC; - first_account UUID:= '3b79e403-c788-495a-a8ca-86ad7643afaf'; + affected_account UUID:= '3b79e403-c788-495a-a8ca-86ad7643afaf'; out_amount NUMERIC := 731823.56; BEGIN SELECT a.mount INTO current_balance FROM accounts a - WHERE a.id = first_account; + WHERE a.id = affected_account; IF current_balance < out_amount THEN - RAISE EXCEPTION 'Saldo insuficiente para realizar el movimiento, transacción rechazada'; + RAISE EXCEPTION 'Insufficient balance to do the movement, Transaction rejected'; END IF; INSERT INTO movements (id, type, account_from, account_to, mount, created_at, updated_at) VALUES ( gen_random_uuid(), 'OUT', - first_account, + affected_account, NULL, - out_amount, + -- out_amount, --5.e you need to pass less money or now(), now() ); EXCEPTION WHEN OTHERS THEN - RAISE NOTICE '*** Error procesando la transacción con monto %. Saldo disponible: % % ** Haciendo ROLLBACK **', - out_amount, current_balance, CHR(10); + RAISE NOTICE '*** Error processing the transaction %. current balance: % % ** Doing ROLLBACK **', + out_amount, current_balance, CHR(10); ROLLBACK; RETURN; -END $$; ---(d). Put your answer here if the transaction fails(YES/NO): Yes the is failed cuz the mount is higher than the current balance +--( f). f. Once the transaction is correct, make a commit +END $$; --> the same as commit ---(e and f). If the transaction fails, make the correction on step c to avoid the failure (the way to avoid the failure is tranfer less money than the current balance) --(g) How much money the account fd244313-36e5-4a17-a27c-f8265bc46590 have: -SELECT - a.id AS account_id, - a.mount + - SUM( - CASE - WHEN m.account_from = a.id THEN -m.mount - WHEN m.account_to = a.id THEN m.mount - END - )AS total_money -FROM - accounts a -INNER JOIN - movements m -ON - a.id IN (m.account_from, m.account_to) -WHERE - a.id IN ('fd244313-36e5-4a17-a27c-f8265bc46590') -GROUP BY - a.id, a.mount; +CREATE FUNCTION get_user_balance(account_id UUID) +RETURNS DOUBLE PRECISION AS $$ +DECLARE + final_balance DOUBLE PRECISION; +BEGIN + SELECT + SUM(CASE + WHEN mov.type = 'IN' THEN mov.mount + WHEN mov.type IN ('OUT', 'TRANSFER', 'OTHER') THEN -mov.mount + ELSE 0 + END) + SUM(act.mount) + INTO final_balance + FROM users usr + INNER JOIN accounts act + ON usr.id = act.user_id + INNER JOIN movements mov + ON mov.account_from = act.id + WHERE usr.id = user_id + GROUP BY usr.id; + RETURN final_balance; +END; +$$ LANGUAGE plpgsql; + + +SELECT get_user_balance('fd244313-36e5-4a17-a27c-f8265bc46590') AS net_balance; --<==== directly the net balance of the account -- 6 @@ -288,3 +275,4 @@ WHERE ORDER BY a.type ASC, m.created_at ASC; +