根据同一行中的其他列值填充列的值

时间:2013-05-11 17:54:27

标签: mysql

capacity  Comment

1.0
1.7
7.2
9.9
10.0

我想要做的是,我想基于容量值自动完整评论值。

如果容量值为1,1.2,1.3,1.4,1.5 ....(所有小数点最多为1.9)我想将评论值填充为“低”

以便它看起来像这样

capacity  Comment

1.0        low
1.7        low  
7.2        average
9.9        fine
INTEL      great

希望你明白这一点。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用CASE表达式执行此操作:

UPDATE Tablename
SET Comment = CASE 
                WHEN capacity >= 1.0 AND Capacity <= 1.9 THEN 'low'
                WHEN ... THEN 'average' -- Put the condition for the average 
                ... 
              END;
  • 输入每个WHEN子句,每个级别的条件。
  • 不要忘记ELSE子句,因为如果您没有定义NULL,则{{1}}为默认值。

答案 1 :(得分:0)

将更新与If if?

一起使用

像这样:

UPDATE table
SET comment = IF (capacity < 2, 'low', IF(capacity < 8, 'average').... )