Я работаю над заданием, в котором мне нужно сложить некоторые значения в соответствии с их общими кодами (т. Е. Если в одной таблице есть такие значения, как
code | name
---------------------
1 | blah
2 | blah1
3 | blah2
1 | blah
, а затем в таблице 2 есть
code | amount
-------------
1 | 100
2 | 200
3 | 250
1 | 125
Мне нужно сложить все значения с помощью общего кода, например, сложить суммы для обоих значений с кодом 1, суммы для значений с кодом 2 и суммы для значений с кодом3)
но тогда мне также нужно подвести все результаты.Я дошел до сложения строк с общими кодами.У меня просто возникают проблемы с суммированием итогов, или, может быть, я просто складываю все значения из столбца «суммы».Я хотел бы, чтобы это было в одном утверждении, поэтому я подумал, что было бы проще сложить отдельные суммы сумм.
Я думаю, что у меня есть идея вниз, Я просто не знаю, как на самом деле выполнить его.
Прямо сейчас у меня есть, я попробовал несколько вариантов, в том числе с помощью предложения HAVING
, но все еще только что получил ошибки:
SELECT X_STORE.STORE_NAME AS "store name", SUM(X_STORE_SALES.WEEKLY_SALES) AS "total weekly sales", SUM(SUM(X_STORE_SALES.WEEKLY_SALES)) AS "grand total"
FROM X_STORE JOIN X_STORE_SALES ON X_STORE.STORE_CODE = X_STORE_SALES.STORE_CODE
GROUP BY STORE_NAME;
и вот коды для таблиц для справочных целей:
CREATE TABLE X_STORE (
STORE_CODE integer,
STORE_NAME varchar2(20)
);
INSERT INTO X_STORE VALUES('1','Access Junction');
INSERT INTO X_STORE VALUES('2','Database Corner');
INSERT INTO X_STORE VALUES('3','Tuple Charge');
INSERT INTO X_STORE VALUES('4','Attribute Alley');
INSERT INTO X_STORE VALUES('5','Primary Key Point');
CREATE TABLE X_STORE_SALES (
ROW_NUMBER INT,
STORE_CODE INT,
WEEKLY_SALES DECIMAL(12,2),
REGION_CODE INT
);
INSERT INTO X_STORE_SALES VALUES (1, 1, 854558.38, 1);
INSERT INTO X_STORE_SALES VALUES (2, 2, 689475.89, 1);
INSERT INTO X_STORE_SALES VALUES (3, 3, 978046.91, 1);
INSERT INTO X_STORE_SALES VALUES (4, 4, 826270.78, 1);
INSERT INTO X_STORE_SALES VALUES (5, 5, 314859.95, 1);
INSERT INTO X_STORE_SALES VALUES (6, 1, 402342.82, 2);
INSERT INTO X_STORE_SALES VALUES (7, 2, 326841.11, 2);
INSERT INTO X_STORE_SALES VALUES (8, 3, 503921.45, 2);
INSERT INTO X_STORE_SALES VALUES (9, 4, 949408.97, 2);
INSERT INTO X_STORE_SALES VALUES (10, 5, 581574.05, 2);
INSERT INTO X_STORE_SALES VALUES (11, 1, 638178.3, 3);
INSERT INTO X_STORE_SALES VALUES (12, 2, 511723.79, 3);
INSERT INTO X_STORE_SALES VALUES (13, 3, 556421.29, 3);
INSERT INTO X_STORE_SALES VALUES (14, 4, 951686.38, 3);
INSERT INTO X_STORE_SALES VALUES (15, 5, 902503.64, 3);
INSERT INTO X_STORE_SALES VALUES (16, 1, 443410.39, 4);
INSERT INTO X_STORE_SALES VALUES (17, 2, 281833.15, 4);
INSERT INTO X_STORE_SALES VALUES (18, 3, 409222.16, 4);
INSERT INTO X_STORE_SALES VALUES (19, 4, 853611.42, 4);
INSERT INTO X_STORE_SALES VALUES (20, 5, 118228.64, 4);
Ожидаемый результат будет примерно таким:
store name | total weekly sales
--------------------------------------
Attribute Alley | 3580977.55
--------------------------------------
Primary Key Point | 1917166.28
--------------------------------------
Database Corner | 1809873.94
--------------------------------------
Access Junction | 2338489.89
--------------------------------------
Tuple Charge | 2447611.81
--------------------------------------
grand total (or |
just null, doesn't| 12,094,119.47
really matter) |
, но вместо этого с последней идеейчто я попытался, я получаю сообщение об ошибке, которое только говорит: ORA-00923: not a single-group group function
Одна вещь, я думаю, что я могу делать неправильно, это запрос информации, как будто она появится в новом столбце, и поэтомуиз-за этого, но я не знаю, как решить проблему, и я не знаю, что «гуглить», чтобы получить представление.