Как написать запрос SQL, чтобы получить сумму транзакций? - PullRequest
0 голосов
/ 14 июля 2020

Мне нужен sql запрос для этого. У меня есть три таблицы: клиент, счет, транзакция, схема которых приведена ниже enter image description here

I want to get customer details, account id, sum of transaction id введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Ваш запрос довольно близок. Попробуйте следующее:

SELECT c.customer_id, a.Account_id, SUM(t.transaction_amount) as amount
FROM Account a INNER JOIN
     Customer c
     ON a.customer_id = c.customer_id INNER JOIN
     Transaction t
     ON a.account_id = t.account_id
GROUP BY c.customer_id, a.account_id;

Обратите внимание на использование псевдонимов таблиц для упрощения запроса. И, что более важно, столбцы SELECT и GROUP BY согласованы.

Поскольку customer_id находится в таблице Account, вам не нужна таблица Customer. Итак, вы можете упростить это до:

SELECT a.customer_id, a.Account_id, SUM(t.transaction_amount) as amount
FROM Account a INNER JOIN
     Transaction t
     ON a.account_id = t.account_id
GROUP BY a.customer_id, a.account_id;
0 голосов
/ 14 июля 2020

Вы можете суммировать транзакции, сгруппированные по CustomerID, а затем присоединиться к таблице клиентов по CustomerID следующим образом:

SELECT c.Customer_name, c.Customer_mobile, t.Transaction_sum
FROM Customer c
JOIN (
    SELECT t.CustomerID, SUM(t.Sum) as Transaction_sum
    FROM transactions t
    GROUP BY t.CustomerID
    ) t on t.CustomerID = c.CustomerID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...