我已经创建了 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/