У меня есть банковская база данных:
Я хочу получить имя и средний баланс клиентов в конкретном филиале.То есть среднее значение их сберегательного счета и текущего счета в филиале "x".
Я пытался выполнить запрос ниже, но безуспешно.
У меня есть этот запрос:
SELECT DISTINCT customer_name, average_balance FROM
(
SELECT account_number, AVG(balance) AS average_balance
FROM (
SELECT account_number, balance FROM account WHERE account_number IN (SELECT account_number FROM savings_account)
UNION ALL
SELECT account_number, balance FROM account WHERE account_number IN (SELECT account_number FROM checking_account)
) AS subquery
GROUP BY account_number
) AS subquery2 INNER JOIN customer;
Примеры операторов ввода:
INSERT INTO account VALUES ('ACC-101', 'Rock Ridge', 500000, '');
INSERT INTO account VALUES ('ACC-101', 'Beach Lookout', 1700, '');
INSERT INTO account VALUES ('ACC-102', 'Rock Ridge', 2465, '');
INSERT INTO account VALUES ('ACC-103', 'Rock Ridge', 77350, '');
INSERT INTO account VALUES ('ACC-104', 'Bargin Plaza', 480002, '');
INSERT INTO account VALUES ('ACC-105', 'Supreme Hill', 17000, '');
INSERT INTO account VALUES ('ACC-106', 'Rock Ridge', 5000, '');
INSERT INTO account VALUES ('ACC-107', 'Main Sperem', 3000, '');
INSERT INTO account VALUES ('ACC-108', 'Adus Avenue', 57685, '');
INSERT INTO savings_account VALUES('ACC-101', 0.1);
INSERT INTO savings_account VALUES('ACC-102', 0.7);
INSERT INTO savings_account VALUES('ACC-103',0.6);
INSERT INTO checking_account VALUES('ACC-104', 2000);
INSERT INTO checking_account VALUES('ACC-105', 2000);
INSERT INTO checking_account VALUES('ACC-106', 2000);
INSERT INTO depositor VALUES ('125-233-001', 'ACC-101', '2012/10/13');
INSERT INTO depositor VALUES ('125-233-001', 'ACC-106', '2013/09/21');
INSERT INTO depositor VALUES ('125-233-002', 'ACC-102', '2014/08/11');
INSERT INTO depositor VALUES ('125-233-002', 'ACC-106', '2015/07/06');
INSERT INTO depositor VALUES ('125-233-004', 'ACC-104', '2016/06/11');
INSERT INTO depositor VALUES ('125-233-005', 'ACC-105', '2012/05/17');
INSERT INTO depositor VALUES ('125-233-006', 'ACC-105', '2018/10/11');
INSERT INTO depositor VALUES ('125-233-007', 'ACC-106', '2019/02/27');
INSERT INTO depositor VALUES ('125-233-008', 'ACC-106', '2012/01/31');
Я получаю результат ниже, но это не то, что я ищу
+--------------------+-----------------+
| customer_name | average_balance |
+--------------------+-----------------+
| Chuck Delroy | 500000.000000 |
| Chuck Delroy | 2465.000000 |
| Chuck Delroy | 77350.000000 |
| Chuck Delroy | 480002.000000 |
| Chuck Delroy | 17000.000000 |
| Chuck Delroy | 5000.000000 |
| Dalrymple Fayval | 500000.000000 |
| Dalrymple Fayval | 2465.000000 |
| Dalrymple Fayval | 77350.000000 |
| Dalrymple Fayval | 480002.000000 |
| Dalrymple Fayval | 17000.000000 |
| Dalrymple Fayval | 5000.000000 |
| Freeman Mark | 500000.000000 |
| Freeman Mark | 2465.000000 |
| Freeman Mark | 77350.000000 |
| Freeman Mark | 480002.000000 |
| Freeman Mark | 17000.000000 |
| Freeman Mark | 5000.000000 |
| Trisman Kemar | 2465.000000 |
| Trisman Kemar | 77350.000000 |
| Trisman Kemar | 480002.000000 |
| Trisman Kemar | 17000.000000 |
| Trisman Kemar | 5000.000000 |
+--------------------+-----------------+
Пример: я на самом деле ищу:
+--------------------+-----------------+
|Delroy Chuck | 252,500.00. |
+--------------------+-----------------+
Это потому, что у него будет 500 000 на его сберегательном счете и 5000 на его текущем счете.