如何在单个查询中发送此SQL语句?

时间:2015-05-22 12:08:52

标签: php mysql

我正在使用MySQL,我想在一个查询中发送类似于这个的声明:

UPDATE fruits SET ToBuy=’yes’ WHERE Price <100, ToBuy=’no’ WHERE Price >=100

我知道我可以在2个单独的查询中划分它并且它以这种方式工作但我想知道是否可以使用单个查询来完成它。

4 个答案:

答案 0 :(得分:6)

您需要CASE声明:

UPDATE fruits
SET ToBuy = CASE WHEN Price < 100 THEN 'yes' WHEN Price >=100 THEN 'no' END

当然您也可以使用CASE WHEN Price < 100 THEN 'yes' ELSE 'no' END,但我已使用上述条款来匹配您的逻辑。

答案 1 :(得分:3)

使用CASE关键字可以起作用:

UPDATE fruits

SET
   ToBuy = CASE WHEN Price<100 THEN  'yes'
               ELSE 'no'

答案 2 :(得分:2)

使用Case可以帮助您

UPDATE fruits SET ToBuy = CASE when Price < 100 Then 'yes' ELSE 'no'

答案 3 :(得分:-8)

您可以拨打UPDATE两次。

UPDATE fruits SET ToBuy=’yes’ WHERE Price < 100;
UPDATE fruits SET  ToBuy=’no’ WHERE Price >= 100;