1
很简单的问题,只是无法将我的头围绕它。例如:
3表。所有者< - >所有者动物< - >动物查找是否存在多个交叉点
动物可以有多个所有者,并且所有者可以拥有多个动物。
现在,给定具体所有者,找到与给定所有者具有共同动物的其他所有者。
我想的是,我们需要做在同一个表中多次加入,就像这样:
select distinct
o2.Owner_Id,
o2.Name
from Owner o
left join OwnerAnimal oa
on o.Owner_Id = oa.Owner_Id
left join OwnerAnimal oa2
on oa.Animal_id = oa2.Animal_Id
left join Owner o2
on. oa2.Owner_Id = o2.Animal_Id
Where o.Owner_Id = 100 and o2.Owner_Id <> 100 --To exclude current owner from the list
但我不知道这是否是一个正确的做法。
这很好。目前,第一种解决方案对我来说已经足够了。我刚刚为业主添加了一个额外的连接来提取其他字段。非常感谢! – user194076