Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 满足条件时更改列值_Mysql - Fatal编程技术网

Mysql 满足条件时更改列值

Mysql 满足条件时更改列值,mysql,Mysql,我有一个包含两列的视图: column a column b aaa One bbb Two aaa r3 Three aaa tr Four trr One uuu One 我要做的是创建一个具有相同列数的新视图,但当a列中的值包含aaa时,b列中的值将更改为1,bbb为2,其他值为初始值 我试着用一个案例陈述来做这件事,但没有成功 SELECT CASE WHEN column

我有一个包含两列的视图:

column a     column b
aaa          One
bbb          Two
aaa r3       Three
aaa tr       Four
trr          One
uuu          One
我要做的是创建一个具有相同列数的新视图,但当a列中的值包含aaa时,b列中的值将更改为1,bbb为2,其他值为初始值

我试着用一个案例陈述来做这件事,但没有成功

SELECT
    CASE WHEN column a like '%aaa%'
         THEN column b = 'One'
    else column b

...
FROM table; 

谢谢。

您的语法错误,请尝试以下操作:

SELECT
    CASE 
         WHEN a like '%aaa%' THEN 'One'
         ... etc. ...
         ELSE b
    END AS b
...
FROM table; 
SELECT columna,
       CASE 
         WHEN columna like '%aaa%' THEN 'One'
         WHEN columna like '%bbb%' THEN 'Two'
         ELSE columnb
       END columnb
FROM table;

您的语法错误,请尝试以下操作:

SELECT columna,
       CASE 
         WHEN columna like '%aaa%' THEN 'One'
         WHEN columna like '%bbb%' THEN 'Two'
         ELSE columnb
       END columnb
FROM table;

如果您解释了您提供的代码如何回答问题,这将是一个更好的答案。如果您解释了您提供的代码如何回答问题,这将是一个更好的答案。