簡體   English   中英

在MySql中使用子查詢更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM