如何解决如何使用具有相同外键的其他行的值更新行
提前致谢!这就是我所拥有的:
primary_key | foreign_key | field_to_update
---------------------------------------------
1 | 1 | A
2 | 1 | -
3 | 2 | B
4 | 2 | -
---------------------------------------------
预期结果:
primary_key | foreign_key | field_to_update
---------------------------------------------
1 | 1 | A
2 | 1 | A
3 | 2 | B
4 | 2 | B
---------------------------------------------
我将如何进行?我认为我做不到:
UPDATE table
SET field_to_update = field_to_update
WHERE ...
这似乎没有意义。有人可以帮我解决这个问题吗?
解决方法
您可以将 update
与 join
一起使用:
update t join
(select foreign_key,max(field_to_update) as field_to_update
from t
group by foreign_key
) tt
on t.foreign_key = tt.foreign_key
set t.field_to_update = tt.field_to_update
where t.field_to_update is null;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。