我有一个包含许多子
的父
表,每个子
都有一个create_date
。
我现在需要为 Parent 添加一个新列 create_date,并找到用于 Parent.create_date
的 MIN(Child.create_date)
。
我可以获得MIN
create_date
:
SELECT MIN(Child.create_date) FROM Child LEFT JOIN Parent USING(Parent.id) GROUP BY Parent.id
但是如何使用结果来更新 Parent.create_date
?
最佳答案
将left join
与update
语句一起使用
UPDATE Parent p,
(SELECT parent.id AS id, MIN(Child.create_date) AS new_date
FROM Child LEFT JOIN Parent
ON Parent.id = Child.parent_id
GROUP BY Parent.id
) AS my_table
SET p.create_date = my_table.new_date
WHERE p.id = my_table.id;
关于mysql - 如何使用一个查询的结果来更新另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26250738/