SQL查询SUM语法(经典ASP项目)

SQL query SUM syntax (classic ASP project)

我有 3 tables:MONTHSSTORESREPORTS (附上图片样本)。

我想编写一个 SQL 查询,它将 SUM 来自 table REPORTS 的记录 (day_amount)但只有同店同月的记录。

我需要这样的东西:

SELECT SUM(REPORTS.day_amount) AS GRAND_TOTAL
FROM REPORTS
WHERE MONTHS.month_id = REPORTS.month_id
  AND STORES.store_id = REPORTS.store_id

对吗?我必须使用 GROUP BY?

您需要确保加入其他表(如果需要这样做)。

SELECT 
     MONTHS.month_id
    ,STORES.store_id
    ,SUM(REPORTS.day_amount) AS GRAND_TOTAL
FROM REPORTS
INNER JOIN MONTHS ON MONTHS.month_id = REPORTS.month_id
INNER JOIN STORES ON STORES.store_id = REPORTS.store_id
GROUP BY MONTHS.month_id, STORES.store_id

尽管看起来您实际上根本不需要其他表,但您可以尝试这样的操作;

SELECT 
     REPORTS.month_id
    ,REPORTS.store_id
    ,SUM(REPORTS.day_amount) AS GRAND_TOTAL
FROM REPORTS
GROUP BY REPORTS.month_id, REPORTS.store_id