有 2 个表,我需要将列值price增加s_variants10% wherebrand_id = 84和price < 1000. 我试图通过JOIN它来做它不起作用,我通过一个子查询尝试它
UPDATE `s_variants`
SET `s_variants`.`price`= `s_variants`.`price` * 1.1
WHERE `s_variants`.`price` < 1000
AND `s_variants`.`product_id` =
(SELECT `s_products`.`id` FROM `s_products` WHERE `s_products`.`brand_id` = 84)
但是,我收到子查询返回多个选项的错误。如何提出完成任务的请求?
s_products表
| id | brand_id |
-------------------
| 1 | 21 |
| 5 | 84 |
| 235 | 84 |
s_variants表
| id | product_id | price |
----------------------------
| 38 | 1 | 545 |
| 25 | 5 | 158 |
| 35 | 235 | 999 |
绝对正确的错误,子查询的结果是一个集合,这意味着等号不起作用。你需要在
sqlfiddle 上的示例