我有一个主表,用来存储医生的数据。我有表HCP,其中医生来自不同的来源,并正在存储。
RowID Name Professional_designation
1 Robert MD
1 Robert RN
2 Andy MD
在上面的表格中,Robert有冲突的数据,因为他不能在我们的系统中同时是MD和RN。
问:我需要一个查询,它将提供我的ROWID列表,其中Professional_designation不匹配,但他们有相同的ROWID。我相信self join将是必需的,但不是100 %确定。
发布于 2017-02-13 14:47:42
尝试此操作以获取所需的行id
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记录列表,如下所示
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
发布于 2017-02-13 15:29:31
是的,你可以使用self join来实现。
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;
https://stackoverflow.com/questions/42198020
复制相似问题