如何使用查询结果更新另一个表?

时间:2014-10-08 06:48:49

标签: mysql mysqli sql-update

我有一个Parent表,其中包含许多Child,每个Child都有一个create_date

我现在需要为Parent添加新列create_date,并找到要用于MIN(Child.create_date)的{​​{1}}。

我可以获得Parent.create_date MIN

create_date

但是如何使用结果来更新SELECT MIN(Child.create_date) FROM Child LEFT JOIN Parent USING(Parent.id) GROUP BY Parent.id

1 个答案:

答案 0 :(得分:0)

left joinupdate声明

一起使用
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;