所以我有一个带有外键TeamID的分数表
ID TeamID Score Month
1 1 100 1
2 2 90 2
3 2 80 3
在桌子上,团队有这样的重复:
ID TeamName
1 Team A
2 Team A
我想将分数表上的TeamID字段更新为团队表上的第一个匹配项,因此我可以安全地删除团队表上的重复项,例如,删除以下内容:
ID TeamID Score Month
1 1 100 1
2 1 90 2
3 1 80 3
任何想法如何做到这一点而无需手动更新每个ID?
最佳答案
select t1.id, t2.id as newId
from team t1
join (select min(id) as id,
TeamName
from team
group by TeamName) t2 on t1.TeamName=t2.TeamName
该查询将返回您应将其ID替换为新ID的ID。在分数表中使用它来更新ID