mysql循环创建单个输出 问题

mysql循环创建单个输出 问题,mysql,Mysql,我有一个带有索引SalesorsonNumber、productCode和purchaseID的表“purchase”。productCode充当另一个表“product”的外键,其中有一个索引价格 还有另一个表“purchase info”,其中有一个键offerPrice。此表由一个组合键组成,该组合键具有键productCode和purchaseID 我希望能够添加SalesorsonNumber=x的每个价格,但如果该行的offerPrice>0,则将其添加到总数中,而不是价格中 有没有

我有一个带有索引SalesorsonNumber、productCode和purchaseID的表“purchase”。productCode充当另一个表“product”的外键,其中有一个索引价格

还有另一个表“purchase info”,其中有一个键offerPrice。此表由一个组合键组成,该组合键具有键productCode和purchaseID

我希望能够添加SalesorsonNumber=x的每个价格,但如果该行的offerPrice>0,则将其添加到总数中,而不是价格中

有没有一种方法可以让我用mysql实现这一点

阿坦普 设置与其他表的连接:

SELECT * 
FROM `purchase` 
inner join `product` on purchase.productCode = product.productCode
inner join `purchase info` PI on purchase.productCode = PI.productCode AND purchase.purchaseID = PI.purchaseID
最后的WHERE语句

WHERE salesPersonNumber = "'.$x.'"
现在我需要想出一个循环

伪码 Ts&Cs 这只需要在SQL中完成!!†

†除了变量$x之外

在不深入研究模式的情况下,简单的答案是,使用case语句


可以使用sum中的条件语句执行此操作:

伪查询:

当报价>0时选择sumcase,然后选择offer\u price else price end from purchases

for each(number of rows belonging to salesPersonNumberX as row){
    if(row['offerPrice'] > 0){
        row['price'] = row['offerPrice'];
    }
    total += row['price'];
}
return total;