Php 在SQL中,如何对一组类别的值求和?
我想获得一个类别项目列表,并显示链接到这些类别的总金额。我在“交易”表中有“金额”字段,我想将其链接到类别表 我的桌子就是这样的:Php 在SQL中,如何对一组类别的值求和?,php,mysql,sql,Php,Mysql,Sql,我想获得一个类别项目列表,并显示链接到这些类别的总金额。我在“交易”表中有“金额”字段,我想将其链接到类别表 我的桌子就是这样的: 类别主管 子类别主目录 项目主管 交易 所以,要将我的“金额”字段添加到类别中,我必须在它们之间传递一个公共列。我在SubCategory master中有CategoryID,在item master中有subcatid,在事务中有类似的itemid 早些时候,当我使用交易日期对金额进行分组时,流程进展顺利: 从交易组中按月(交易日期)选择交易日期、金额(金额)
从交易组中按月(交易日期)选择交易日期、金额(金额)
现在,我在使用categoryname对其进行分组时面临的问题是,所有的数量似乎都是=50,而在数据库中仍然是不同的。我知道这是一件非常愚蠢的事情,但我对编程比较陌生,不知道如何恰当地使用逻辑
SELECT categorymaster.CategoryName, transaction.Amount
FROM categorymaster
INNER JOIN subcategorymaster
INNER JOIN itemmaster
INNER JOIN transaction
GROUP BY categorymaster.CategoryName
这个答案假设每个表中的主键都命名为“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
您是否尝试用所有外键指定ON?请编辑此问题。发布您的实际代码、一些示例数据以及给定该示例数据的预期结果。缩短您的代码使我们所有人都只是看着它,想知道他是否忘记了条件,而没有对金额进行汇总。。。。或者在SELECT transactionDate中,GROUP BY MOUNT()甚至不应该是有效语句,因为transactionDate必须位于GROUP BY中。但是,选择MOINT(交易日期)将。。。。。为了让任何人都能有效地帮你解决未知问题,你是生命的救世主@巨石