使用其他多个行中的值创建一个表行

时间:2019-03-30 12:21:33

标签: javascript php html mysql

我正在创建一个礼物清单组织者网站,聚会主持人在该网站上输入他们想要的产品及其价格。派对客人做出“承诺”,直到总价达到为止。

我很难获得某种产品的总承诺额。

我有一个产品的 MySQL 表和一个单独的承诺表,要在其中进行承诺,您必须输入产品ID。

该表存储了每个“保证金”,但我需要获取每种产品的总保证金,对于尚未认捐的产品,要获取'0'

我尝试使用产品ID作为条件的mysql SUM查询。

我想知道是否可以在产品表中添加“认捐总额”,其中每个产品的默认值均为0,然后将认捐额添加到该表中。

这是承诺数据库的结构

#   Name          Type  
1   plIDPrimary  int(255)   
2   plEmail     varchar(255)                            
3   plAmount     double                     
4   prID         int(11)    

这是产品

#   Name             Type
1   productID   int(11) 
2   pName         varchar(200)
3   pPrice          double  
4   pDesc         varchar(255)
5   pColor        varchar(255)  
6   pQuant          int(10) 
7   pURL          varchar(255)
8   eventID         int(255)    
9   pEmail        varchar(255)  
$sqlSUM = 'Select * FROM pledge where prID LIKE ... ';
$resultSUM = $db->query($sqlSUM);

我有一个表格,上面显示了网站上显示的产品,我想添加另一列,其中包含承诺的总额

1 个答案:

答案 0 :(得分:1)

您想获得每种产品的认捐总额。

SELECT 
    pr.productID, 
    count(pl.prID) as totalPledge, 
    IFNULL(sum(pl.plAmount) ,0) as totalPledgeAmount 
FROM product pr 
LEFT JOIN pledge pl ON pr.productID = pl.prID 
GROUP BY pr.productID

喜欢吗?