【问题标题】:MySQL CASE to update one column from multiple columns + LIKEMySQL CASE 从多列中更新一列 + LIKE
【发布时间】:2013-11-14 12:28:27
【问题描述】:

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

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

【问题讨论】:

  • 尝试删除CASE后的column2、column3。
  • 并确保 %test1% 和 %test2% 在引号中
  • 它似乎不起作用...:/

标签: mysql sql-update case multiple-columns sql-like


【解决方案1】:

去掉case后面的“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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    相关资源
    最近更新 更多