gpt4 book ai didi

mysql - 更新多个表中的行和

转载 作者:行者123 更新时间:2023-11-29 05:56:16 24 4
gpt4 key购买 nike

我正在处理一个项目,我需要在查询中更新 2 个表。

我在做这个

UPDATE ward_beds a, ipd_patient_list b 
SET
a.occupation_status = 'empty',
b.patient_status = 'Discharged'
WHERE
a.ward_id = b.ward_id AND b.patient_id = '4'
AND
b.appointment_id = '6' AND b.ward_id = '1'

到目前为止一切正常,现在我想更新一下

b.patient_status = 'Discharged'

在所有匹配行中的最后一行。我试着把这个

ORDER BY b.row_id DESC LIMIT 1

但它显示

#1221 - Incorrect usage of UPDATE and ORDER BY

错误。我应该怎么做?

最佳答案

你不能在这种更新中使用限制但您可以使用子查询搜索正确的 ID 并加入其他表

  UPDATE ward_beds a
INNER JOIN (
select ward_id, max(row_id) last_id
from ipd_patient_list
group by ward_id
) t on t.ward_id = a.ward_id
INNER JOIN ipd_patient_list b ON a.ward_id = b.ward_id
AND b.patient_id = '4'
AND b.appointment_id = '6'
AND b.ward_id = '1'
AND b.row_id = t.last_id
SET a.occupation_status = 'empty',
b.patient_status = 'Discharged'

关于mysql - 更新多个表中的行和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49109961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com