1

我想知道这是否可以从其他不同列中的值更新一列......比如:

UPDATE table
    SET column1 = CASE column2,column3
        WHEN column2 == test AND column3 == 1 THEN 100
        WHEN (column2 LIKE %test1% OR column2 LIKE %test2%) AND column3 == 2 THEN 50
        ELSE 0
    END

感谢您的任何回答!

编辑:回答可能有同样问题的其他人:

UPDATE table
    SET column1 = CASE 
        WHEN column2 = test AND column3 = 1 THEN 100
        WHEN (column2 LIKE '%test1%' OR column2 LIKE '%test2%') AND column3 = 2 THEN 50
        ELSE 0
    END
4

1 回答 1

1

删除案例后的“column2,column3”并尝试以下操作,

UPDATE table
    SET column1 = CASE WHEN column2 == test AND column3 == 1 THEN 100
        WHEN (column2 LIKE '%test1%' OR column2 LIKE '%test2%') AND column3 == 2 THEN 50
        ELSE 0
    END

以下是指导您更多关于 CASE 语句的链接:http: //dev.mysql.com/doc/refman/5.0/en/case.html

于 2013-11-14T12:58:32.247 回答