非常简单的问题,只是无法解决我的问题。
示例:
3 个表。所有者 <-> OwnerAnimal <-> 动物
动物可以有多个主人,主人可以有多个动物。
现在,给定一个特定的所有者,找到与给定所有者有共同动物的其他所有者。
我认为我们需要多次加入同一张表,如下所示:
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
但我不确定这是否是正确的方法。