mysql循环创建单个输出

标签 mysql

问题

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

还有另一个表'purchase info',其中包含键offerPrice。该表由一个复合键组成,其中键为 productCodepurchaseID

我希望能够添加 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

最佳答案

是的。

无需深入研究架构,简单的答案是使用 case 语句。

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

关于mysql循环创建单个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551344/

相关文章:

c# - 在 C# Visual Studio 中工作时 mysql 存储过程的问题

mysql - 如何查看文本框中新插入的数据? (java netbeans mysql)

php - fatal error : Allowed memory size of 268435456 bytes exhausted (tried to allocate 4294967296 bytes)

asp.net - Entity Framework 4 unicode问题保存

mysql - SQL - 更新 select 语句中的记录

php - 使用 JOIN 查询速度慢

php - 从表单中的第二个表发布变量

php - 在单个查询中为每个类别选择 n 个帖子

MySQL 性能 - 字符串与整数

php - 需要有关 PHP 循环中使用的特定 MySQL 查询的帮助