首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >主数据表:识别错误记录

主数据表:识别错误记录
EN

Stack Overflow用户
提问于 2017-02-13 14:40:42
回答 2查看 17关注 0票数 1

我有一个主表,用来存储医生的数据。我有表HCP,其中医生来自不同的来源,并正在存储。

代码语言:javascript
运行
复制
RowID Name   Professional_designation
1     Robert  MD
1     Robert  RN
2     Andy    MD

在上面的表格中,Robert有冲突的数据,因为他不能在我们的系统中同时是MD和RN。

问:我需要一个查询,它将提供我的ROWID列表,其中Professional_designation不匹配,但他们有相同的ROWID。我相信self join将是必需的,但不是100 %确定。

EN

回答 2

Stack Overflow用户

发布于 2017-02-13 14:47:42

尝试此操作以获取所需的行id

代码语言:javascript
运行
复制
SELECT ROWID,Name
FROM
(
SELECT ROwID,Name,
       ROW_NUMBER() OVER(PARTITION BY ROWID,Name ORDER BY Professional_designation) as seqNum
FROM HCP
) Tmp
WHERE seqNum > 1

您可以使用self join获取HCP表中Professional_designation不匹配的doctors记录列表,如下所示

代码语言:javascript
运行
复制
select t1.* from HCP t1
join HCP  t2 on t1.RowID = t2.RowID and t1.Name=t2.Name
where t1.Professional_designation<>t2.Professional_designation
票数 1
EN

Stack Overflow用户

发布于 2017-02-13 15:29:31

是的,你可以使用self join来实现。

代码语言:javascript
运行
复制
select distinct h1.Row_id from hcp h1 join hcp h2 on h1.name=h2.name where h1.row_id=h2.row_id and h1.Professional_designation != h2.Professional_designation;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42198020

复制
相关文章

相似问题

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