我有两张桌子:团队和人员。
表teams
有三列,id
,name
,leader
表persons
包含以下列:hash
,team_id
teams.leader是一个MD5哈希,必须匹配persons.hash才能确定哪个人是某个团队的领导者。
我需要在MySQL上运行查询,执行以下操作:
1)检索团队的所有领导者和团队ID:
SELECT `id`,`leader` FROM `teams`;
2)使用此类信息更新表team_id
persons
这是我目前的查询:
选择id
FROM teams
INNER JOIN persons
ON teams
。leader
= persons
。hash
但是我无法想出一个允许我用相应的领导者更新列team_id
的解决方案。
我一直在考虑使用游标,但不确定。
有任何想法吗?
答案 0 :(得分:1)
您可以使用多表UPDATE
语法来连接表:
UPDATE teams JOIN persons ON teams.leader = persons.hash
SET persons.team_id = teams.id