Когда я запускаю этот код
SELECT sales_date AS DAY, SUM (TOTAL_AMOUNT_RM)
FROM SALESINVOICE
GROUP BY SALES_DATE
order by sales_date;
, он дает мне таблицу, введите описание изображения здесь
Затем я запускаю другой код
SELECT SR.DAY, SUM(SR.PROFIT_RM) AS TOTALPROFIT_RM
FROM
(SELECT SALESINVOICE_ID AS NO, S.ITEM_ID AS ITEM, SALES_DATE AS DAY, S.QUANTITY, C.PRICE_RM, C.COST_RM, ((S.QUANTITY*C.PRICE_RM)-(S.QUANTITY*C.COST_RM)) AS PROFIT_RM
FROM SALESINVOICE S
INNER JOIN (SELECT ITEM_ID, PRICE_RM, COST_RM FROM ITEM I ) C
ON S.ITEM_ID = C.ITEM_ID
ORDER BY SALESINVOICE_ID, SALES_DATE) SR
GROUP BY SR.DAY
ORDER BY SR.DAY;
, который дал мне таблицу введите описание изображения здесь
Я пытаюсь объединить обе таблицы, но когда я пытаюсь вызвать столбец sum (total_amount_rm), он дает мнеошибка группировки по выражению
SELECT SR.DAY, SUM(SR.PROFIT_RM) AS TOTALPROFIT_RM, D.TOTAL
FROM
(SELECT SALESINVOICE_ID AS NO, S.ITEM_ID AS ITEM, SALES_DATE AS DAY, S.QUANTITY, C.PRICE_RM, C.COST_RM, ((S.QUANTITY*C.PRICE_RM)-(S.QUANTITY*C.COST_RM)) AS PROFIT_RM
FROM SALESINVOICE S
INNER JOIN (SELECT ITEM_ID, PRICE_RM, COST_RM FROM ITEM I ) C
ON S.ITEM_ID = C.ITEM_ID
ORDER BY SALESINVOICE_ID, SALES_DATE) SR
INNER JOIN (SELECT SALES_DATE AS DAY, SUM(TOTAL_AMOUNT_RM) AS TOTAL FROM SALESINVOICE GROUP BY SALES_DATE ORDER BY SALES_DATE) D
ON D.DAY = SR.DAY
GROUP BY SR.DAY
ORDER BY SR.DAY;
Однако она может работать без выбора D.TOTAL.Может кто-нибудь мне помочь?Я новичок sql