2017-11-11 98 views
0

最前面,我處於DB類中,可以使用提示來接近正確的答案。基於另一個表中沒有連接的值的更新列

ticket_old表中有技術員的名字和姓氏。只有兩個獨特的名字。

在新ticket表,我有一個tech_id列其需要int匹配的ticket_old表中找到高科技的last_name

我一直在嘗試使用下面的代碼來執行此操作,該代碼成功執行並更新了0行。

UPDATE ticket,ticket_old 
    SET tech_id = (CASE WHEN ticket_old.techLast = 'name1' THEN 1 
    WHEN ticket_old.techLast = 'name2' THEN 2 
    END) 
; 

-edit,我也嘗試了以下運行並更新0行。

UPDATE ticket, 
(SELECT techLast FROM ticket_old WHERE techLast = 'name1') as src 
SET ticket.tech_id = 1; 

回答

0

當比較兩個值, 始終使用雙平等馬克:

SET tech_id =(CASE WHEN ticket_old.techLast == 'NAME1' THEN 1 WHEN ticket_old.techLast ==「NAME2 'THEN 2 END)

我不確定它是'name'還是'name'。嘗試一下。

+0

給出錯誤'==' – user4317867

+0

你能解釋一下錯誤嗎? –

+0

我在'=='name1'附近收到錯誤'#1064'然後1當 – user4317867

相關問題