2017-02-19 54 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')