我有一个表“公司”,其中包含彼此有关系的公司。我想将“合作伙伴”栏中的公司名称替换为相应的ID。
ID Company Partner
1 Company A Company B
2 Company B Company C
3 Company C Company B
应该变成:
ID Company Partner
1 Company A 2
2 Company B 3
3 Company C 2
我已经尝试过这一点,但收到一个错误,子查询返回多个结果:
UPDATE Companies c1
SET Partner =
(SELECT DISTINCT c2.ID FROM Companies c3 JOIN Companies c2 ON c3.Partner = c2.Company
WHERE c1.Partner = c3.Partner
)
最佳答案
使用JOIN
:
UPDATE Companies c JOIN
Companies cp
ON c.Partner = cp.Company
SET c.Partner = cp.id;
关于mysql - 将列值替换为其他列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57625633/