问题
我有一个表'purchase'
,其中包含索引salesPersonNumber
、productCode
和purchaseID
。 productCode
充当另一个表'product'
的外键,其中有一个索引price
。
还有另一个表'purchase info'
,其中包含键offerPrice
。该表由一个复合键组成,其中键为 productCode
和 purchaseID
。
我希望能够添加 price
,其中 salesPersonNumber = 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.'"
<小时/>
现在我需要想出一个循环?
伪代码
for each(number of rows belonging to salesPersonNumberX as row){
if(row['offerPrice'] > 0){
row['price'] = row['offerPrice'];
}
total += row['price'];
}
return total;
<小时/>
条款和条件
这需要仅在 SQL 中完成!!†
† 除了变量$x
最佳答案
关于mysql循环创建单个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551344/