mysql - 将一列乘以另一表中的一列

标签 mysql

我已经创建了 table1,可以通过表单进行更新,因此如果我需要更改价格百分比,无需编辑代码即可。 我从 csv 文件导入并创建临时表2。新的临时表 2 包含商品的成本,因此我需要乘以一个百分比来获取售价,即表 1 中的价格百分比。

percent是table1中的一列,我想通过行id选择它,importID是列ID,这两个都在table1中,我可以通过表单更新。我需要按行 ID 选择 future 的增长和多个百分比。

我想将临时表 2 中的价格列乘以永久表 1 中的百分比列。

这是给我带来语法错误的部分

  SELECT percent FROM my_table1 WHERE importID = 1

这是定价更新代码

  UPDATE my_temp_table2
  SELECT percent FROM my_table1 WHERE importID = 1
  SET Price = (Price * percent);

最佳答案

这应该是

UPDATE my_temp_table2
SET Price = Price * (SELECT percent FROM my_table1 WHERE importID = 1);

这会将 my_temp_table2 中的所有价格与 my_table1 中为 importID 1 找到的一个价格相乘。

这是使用变量的替代方案:

SELECT @percent := percent
FROM my_table1 WHERE importID = 1;

UPDATE my_temp_table2
SET Price = Price * @percent;

关于mysql - 将一列乘以另一表中的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24620413/

相关文章:

python - 单元测试 MySQL 数据库交互

php - 无法使用 php-mysql 的面向对象风格访问 mysql 表中的数据

mysql - 使用 concat 并保持变量的长度

php - Doctrine2 中的嵌套位置

php 脚本有 facebook 数据,但不会将其插入 mysql 数据库

mysql - 比较两个不同表中的两个列值并根据 24 小时周期计算差异

mysql - 无方法错误 : undefined method `more_results' for #<Mysql>

mysql - Xampp MySQL 服务器未运行或被防火墙阻止

php - 如何将多维数组的嵌套数组插入到mysql中

mysql - 缩放列中的值