如何基于父表求和子表中的列值

时间:2019-07-10 23:36:01

标签: php mysql

我有一个如下的mysql查询:

SELECT
A.ProductHenPk,
A.ProductFk,
A.hENReference,
A.hENTitle,
A.hENVersion,
B.hENLatestYear AS LatestVersion,
C.Version AS ActualYear,
CASE
    WHEN B.hENLatestYear = C.Version 
    THEN 0 ELSE 1 END AS `Audit`
FROM Client_ProductHENS as A
LEFT OUTER JOIN Global_HarmonisedStandards as B ON A.hENReference = B.hENpk
LEFT OUTER JOIN Global_HarmonisedStandardRevisions as C ON A.hENVersion = C.hENRevisionPk

基本思想是将用户当前已分配的文档版本与实际最新版本进行比较,如果这些版本相同,则审核值返回0(如果不是),则得分为1。

上面的代码中的表是一个子记录,该子记录属于产品表,由ProductPk.ProductFk链接。

我想要的是能够对子表(审核)列求和并将该值放在父表中,但是我试图在php列表页面本身而不是通过查询来做到这一点,所以我需要一种方法来运行php代码以对该列求和。

这是我到目前为止所拥有的:

$rstmp = CustomQuery("select sum(`Audit`) as sum from Client_ProductHENSwhere Client_ProductHENS.ProductFk=".$values["ClientProductPk"]); 
$datatmp = db_fetch_array($rstmp);

我在做什么错了?

如果有一种方法可以在父表sql中求和,那么我很乐意尝试一下,这是父表结构:

SELECT
ClientProductPk,
ClientFk,
IPT,
FPC,
hEN
FROM Client_Products;

基本上,我希望上表中的hEN字段记录相关子表的审计列的总和。

非常感谢...

0 个答案:

没有答案