首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配实体-自身多对多

匹配实体-自身多对多
EN

Stack Overflow用户
提问于 2017-05-08 00:27:57
回答 1查看 28关注 0票数 0

使用新的主数据管理产品,特别是人员匹配。我有两个表: Person和PersonMatch。PersonMatch是一个连接表,它将Person中的行与Person中的另一行进行匹配。

人员:1、2、3、4(根据PersonMatch,这些都是同一个人)。

PersonMatch: 1+2,2+3,3+4,4+1

我无法理解一个查询来将Person表中的所有四个实体都视为相同的查询。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-05-08 02:34:05

在我看来,你需要一个特定的列,它是一个PersonUniqueId,并且所有相同的person实例可以有自己的唯一id来标识它们的差异,但它们每个实例都会共享相同的“PersonUniqueId”,这反映出它们实际上是同一个人,只是具有不同的或附加的后续信息。

如果您不使用PersonUniqueId,那么您需要找出每条记录中标识两个人相同的内容,可能是名称,或者其他任何东西。在不了解你的整体结构的情况下,很难说什么是最好的方向,但希望这是一个开始。

可能甚至不需要PersonMatch表。或者,您可以将PersonUniqueId列放入该表中,然后执行以下操作:

代码语言:javascript
运行
复制
SELECT p.*
FROM Persons p, PersonMatch pm
WHERE p.PersonId = pm.PersonId
GROUP BY pm.PersonUniqueId

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43833874

复制
相关文章

相似问题

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