mysql循环创建单个输出 问题
我有一个带有索引SalesorsonNumber、productCode和purchaseID的表“purchase”。productCode充当另一个表“product”的外键,其中有一个索引价格 还有另一个表“purchase info”,其中有一个键offerPrice。此表由一个组合键组成,该组合键具有键productCode和purchaseID 我希望能够添加SalesorsonNumber=x的每个价格,但如果该行的offerPrice>0,则将其添加到总数中,而不是价格中 有没有一种方法可以让我用mysql实现这一点 阿坦普 设置与其他表的连接:mysql循环创建单个输出 问题,mysql,Mysql,我有一个带有索引SalesorsonNumber、productCode和purchaseID的表“purchase”。productCode充当另一个表“product”的外键,其中有一个索引价格 还有另一个表“purchase info”,其中有一个键offerPrice。此表由一个组合键组成,该组合键具有键productCode和purchaseID 我希望能够添加SalesorsonNumber=x的每个价格,但如果该行的offerPrice>0,则将其添加到总数中,而不是价格中 有没有
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;