根据另一个没有连接的表中的值更新列

时间:2017-11-11 01:25:16

标签: mysql sql-update

在前面,我是一个DB类,可以使用提示来接近正确的答案。

ticket_old表中,有技术人员的名字和姓氏。只有两个独特的名字。

在新的ticket表中,我有一个tech_id列,需要intlast_name中找到的技术的ticket_old相匹配表

我一直在尝试使用下面的代码执行此操作,该代码成功执行并更新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;

1 个答案:

答案 0 :(得分:0)

比较两个值时, 始终使用 Double Equal 标记:

SET tech_id =(CASE WHEN ticket_old.techLast =='name1'THEN 1 当ticket_old.techLast =='name2'那么2 END)

我不确定它是'名字'还是“名字”。试试吧。