mysql循环创建单个输出

时间:2015-04-10 00:27:16

标签: mysql

问题

我有一个表'purchase',其中包含索引salesPersonNumberproductCodepurchaseIDproductCode充当另一个表'product'的外键,其中有一个索引 price

还有一个表格'purchase info',其中包含 offerPrice 键。此表由带有键productCodepurchaseID的复合键组成。

我希望能够将{strong> price 添加到salesPersonNumber = x,但 offerPrice 是{{1}将行添加到总计(而不是> 0)。

我有没有办法用price来做这件事?

尝试

建立与其他表的连接:

mysql

最后的WHERE语句

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 salesPersonNumber = "'.$x.'"

Ts& CS

这需要在SQL中完成!!†

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

之外,

2 个答案:

答案 0 :(得分:0)

如果不深入了解您的架构,简单的答案就是使用案例陈述。

https://dev.mysql.com/doc/refman/5.0/en/case.html

答案 1 :(得分:0)

您可以使用sum

中的条件语句执行此操作

伪查询:

select sum(case when offer_price > 0 then offer_price else price end) from purchases;