如何在SQL中对一组类别中的值求和?

时间:2016-07-06 16:44:16

标签: php mysql sql

我想获取一个类别项目列表,并显示与这些类别相关联的总金额。我有"金额" "交易中的字段"表,我想将其链接到类别表。

这就是我的表格:

  1. 分类大师
  2. 子类别大师
  3. 物品大师
  4. 交易
  5. 所以要获得我的"金额"字段到类别,我将不得不在它们之间传递某个公共列。我在SubCategory master中有CategoryID,在item master中有subcatid,在事务中有类似的itemid。

    早些时候,当我使用交易日期对金额进行分组时,流程进展顺利:

    SELECT TransactionDate, SUM(Amount) FROM transaction GROUP BY MONTH(TransactionDate)

    现在我使用categoryname对其进行分组的问题是,所有数量似乎都是= 50,而数据库中的数量仍然不同。我知道这真的很傻,但我对编程比较陌生,不知道如何恰当地使用逻辑。

        SELECT categorymaster.CategoryName, transaction.Amount
        FROM categorymaster
        INNER JOIN subcategorymaster
        INNER JOIN itemmaster
        INNER JOIN transaction
        GROUP BY categorymaster.CategoryName
    

1 个答案:

答案 0 :(得分:0)

此答案假设您在每个表中的主键名为“ID”。你没有提供这些信息。

SELECT categorymaster.CategoryName, sum(transaction.Amount)
  FROM categorymaster
       INNER JOIN subcategorymaster 
             ON subcagetorymaster.CategoryId = categorymaster.ID
       INNER JOIN itemmaster
             ON itemmaster.SubCatId = subcategorymaster.ID
       INNER JOIN transaction
             ON transaction.ItemId = itemmaster.ID
GROUP BY categorymaster.CategoryName