[英]Update with subquery in MySql
我有兩個桌子:
work (work_id (AI, PK), sent_date, received_date, visit_date)
history_work(id_history_work (AI, PK), work_id (FK), sent_date, reseived_date, visit_date)
關系應該是1-> n。
我想更新工作表,以便send_date,received_date和visit_date應該具有歷史工作表中最后插入的記錄的值(最后id_history值)和相同的work_id值。
您可以使用join
來做到這一點。 一次加入history
表。 第二次加入以獲得最大id(大概是最近的插入)。
update work w join
history h
on w.work_id = h.work_id join
(select work_id, max(id_history_work) as maxihw
from history
group by work_id
) hw
on hw.maxihw = h.id_work_history
set w.sent_date = h.sent_date,
w.received_date = h.received_date,
w.visit_date = h.visit_date;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.