gpt4 book ai didi

mysql删除另一个表中不存在的重复行

转载 作者:行者123 更新时间:2023-11-29 03:34:19 25 4
gpt4 key购买 nike

在一家医院的数据库中工作。我有一张病人表,另一张包含医疗记录。表医疗记录,有 patient_id。由于系统中的错误,许多患者已被插入两次或更多次,具有相同的 ID。我正在尝试进行一个 mysql 查询,允许我删除/检查患者表中重复的患者,但前提是 patient_id 不在医疗记录表中。

像这样:

(select * from patients group by id having count(id)>1 as p)
where patient_id not in (select patient_id from history)

上面的查询是象征性的,它不起作用。

最佳答案

选择所有不在历史中的重复patients的方法是使用where not exists:

select p.id
from patients p

where not exists (
select h.patient_id
from history h
where h.patient_id=p.id
)
group by p.id having count(p.id) > 1

另一种方法是使用not in:

select id
from patients

where id not in (
select patient_id from Posts
WHERE patient_id IS NOT NULL
group by patient_id
)
group by id having count(id) > 1

关于mysql删除另一个表中不存在的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204248/

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