想象一下,你有像facebook这样的朋友系统。
你有一个m2m表,可以为两个人加入ID。
目前,我们从任一方向记录记录。这意味着id可以在任一列中。因此,当我们选择时,我们必须在任一列中搜索id。
我们可以在select之后对此进行排序,通过对登录的userId进行测试,但我想知道是否有更好的方法来执行此操作
答案 0 :(得分:1)
使用UNION
:
select user_id1 as friend_id
from friends
where user_id2 = ?
union
select user_id2
from friends
where user_id1 = ?
确保关联表中的两个id列都有索引。