IF оператор при обновлении столбца - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть таблица 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 = 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 голосов
/ 21 ноября 2018

Вот, пожалуйста:

update tbl 
set new_price = if(price_sales > 0, price_sales * 0.9, price * 0.9)
0 голосов
/ 21 ноября 2018

Попробуйте это.

UPDATE Products SET new_price = if(price_sales > 0, (price * 10.0 / 100.0), price)
0 голосов
/ 21 ноября 2018

Вы можете попробовать следующее:

update tbl set new_price = if(price_sales > 0, price_sales, price) * 0.9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...