使用新的主数据管理产品,特别是人员匹配。我有两个表: Person和PersonMatch。PersonMatch是一个连接表,它将Person中的行与Person中的另一行进行匹配。
人员:1、2、3、4(根据PersonMatch,这些都是同一个人)。
PersonMatch: 1+2,2+3,3+4,4+1
我无法理解一个查询来将Person表中的所有四个实体都视为相同的查询。谢谢你的帮助!
发布于 2017-05-08 02:34:05
在我看来,你需要一个特定的列,它是一个PersonUniqueId,并且所有相同的person实例可以有自己的唯一id来标识它们的差异,但它们每个实例都会共享相同的“PersonUniqueId”,这反映出它们实际上是同一个人,只是具有不同的或附加的后续信息。
如果您不使用PersonUniqueId,那么您需要找出每条记录中标识两个人相同的内容,可能是名称,或者其他任何东西。在不了解你的整体结构的情况下,很难说什么是最好的方向,但希望这是一个开始。
可能甚至不需要PersonMatch表。或者,您可以将PersonUniqueId列放入该表中,然后执行以下操作:
SELECT p.*
FROM Persons p, PersonMatch pm
WHERE p.PersonId = pm.PersonId
GROUP BY pm.PersonUniqueId
希望这能有所帮助。
https://stackoverflow.com/questions/43833874
复制相似问题