更新列时的IF语句

时间:2018-11-21 08:39:58

标签: mysql sql

我有一个表Products,其中包含以下内容:

  | Product title | price | price_sales | new_price |
1 | Product A     | 100   | 80          | ???       |
2 | Product B     | 100   | 0           | ???       |
3 | Product C     | 400   | 200         | ???       |

我必须对所有产品进行更新查询:new_price列必须是当前价格具有 10%折扣的列。 如果没有price_sales(price_sales = 0),则列price是实际价格。

结果必须是:

  | Product title | price | price_sales | new_price |
1 | Product A     | 100   | 80          | 76        |
2 | Product B     | 100   | 0           | 90        |
3 | Product C     | 400   | 200         | 180       |

3 个答案:

答案 0 :(得分:2)

您在这里:

update tbl 
set new_price = if(price_sales > 0, price_sales * 0.9, price * 0.9)

答案 1 :(得分:1)

您可以尝试以下操作:

debounceTime(1000)

答案 2 :(得分:0)

尝试一下。

UPDATE Products SET new_price = if(price_sales > 0, (price * 10.0 / 100.0), price)