2017-02-19 56 views
0

Employees表中的Job_ID列具有每行的唯一数据,我需要使用另一列的另一列值 FIRST_NAME的值更新这些数据,如'MANAGER'或'TELLER',但似乎更新没有发生 我的期望是FIRST_NAME =比赫斯或UNNATH的JOB_ID应该是“经理”和其他应为“出纳”MySQL - 使用情况更新多个值然后结束

快速响应,0行(S)受影响的行匹配:6更改:0警告:0

UPDATE EMPLOYEES 
SET JOB_ID = CASE 
WHEN FIRST_NAME IN ('VIJES','UNNATH') THEN JOB_ID = 'MANAGER' 

WHEN FIRST_NAME NOT IN ('VIJES','UNNATH') THEN JOB._ID = 'TELLER' 
END 
WHERE FIRST_NAME IN ('VIJES','UNNATH','VINOD','RAKESH','ANANT','MUKESH') 

了解我可以针对每行使用条件FIRST_NAME触发单个更新查询,但是要为整个表查找单个更新查询。

请澄清

回答

0

,你应该使用被分配JOB_ID列到CASE表达式的语法,仅此而已。目前,您正在分配到CASE表达式,然后再次尝试为正在更新的列指定一个值。

尝试使用此查询:

UPDATE EMPLOYEES 
SET JOB_ID = CASE WHEN FIRST_NAME IN ('VIJES','UNNATH') 
        THEN 'MANAGER' 
        ELSE 'TELLER' END 
WHERE FIRST_NAME IN ('VIJES', 'UNNATH', 'VINOD', 'RAKESH', 'ANANT', 'MUKESH')