我需要帮助从表中查询friendID。我的表存储了两个一起成为朋友的成员的用户 ID。
但是为了存储两个成员的“友谊”,我必须存储两个这样的记录:
friendshipID | userID | friendID
1 | 5 | 10
2 | 10 | 5
然而,当我们真的只需要存储第一条记录时,这对数据库来说似乎很重,因为它包含两个成员的两个 id 就足够了。
但是,当我想查询ID=5的朋友的记录时,麻烦就来了。有时 ID 在 userID 列中,有时在friendID 列中。
这是我正在使用的查询:
SELECT *
FROM friends
WHERE userID = '5'
OR friendID = '5'
但我想做的是这样的
SELECT
if $userID=5 then userID as myfriend
else friendID=5 then friendID as myfriend
FROM friends WHERE userID='5' OR myfriendID='5'
希望这是有道理的。最后,我想拥有成员#5 的所有朋友 ID,而不是以 #5 作为朋友或用户的结果......而只是他的朋友。