首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql删除其他表中不存在的重复行

mysql删除其他表中不存在的重复行
EN

Stack Overflow用户
提问于 2014-08-08 21:05:52
回答 1查看 281关注 0票数 2

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

如下所示:

代码语言:javascript
复制
(select * from patients group by id having count(id)>1 as p)
 where patient_id not in (select patient_id from history)

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

EN

回答 1

Stack Overflow用户

发布于 2014-08-08 21:23:31

选择所有不在history中的重复patients的一种方法是使用where not exists

代码语言:javascript
复制
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

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25204248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档