对同一列的多行进行UPDATE查询

时间:2014-03-26 03:50:00

标签: mysql

我有一个数据库表,我需要做的是,

我需要根据以下条件使用每行的列名“Co15”更新列

  如果Co13 ='c1'并且Col2 ='b4',则Co15 = SAMPLE   如果Co13 ='c6',则Co15 = LIST

目前我正在单独运行每个更新查询,如下所示

UPDATE tblname SET Co15 = 'SAMPLE' WHERE Co13 = 'c1' AND Col2 = 'b4';                                   

UPDATE tblname SET Co15 = 'LIST' WHERE Co13 = 'c6';

但是想知道我是否可以同时运行一个更新查询。

谢谢

2 个答案:

答案 0 :(得分:0)

试试这个

UPDATE tblname SET Co15=  
CASE
  WHEN Co13 = 'c1' AND Col2='b4' THEN 'SAMPLE'
  WHEN Co13 = 'c6' THEN 'LIST'
END

答案 1 :(得分:0)

正确地将输出结果如下:

UPDATE tblname
    SET col5= CASE
        WHEN col3 = 'c1' AND col2 = 'b4' THEN 'SAMPL'
        WHEN col3 = 'c6' THEN 'LIST'
    END

示例:sqlfiddle to click here