我有一个名为friends的表,其中包含3列:
user1id, user2id, status
Status
是另一个表FriendshipStatuses
的外键,其他两列都是user
表的外键。
我尝试了一些不同的查询,这些查询导致错误并获得仍在请求中的友谊。我提供的查询未返回任何结果。
$userId
包含当前登录的用户ID
SELECT
users.username,
users.fullName,
users.user_id
FROM
users
WHERE
users.user_id IN (SELECT user1id, user2id
WHERE user1id = $userId
OR user2id = $userId)
答案 0 :(得分:0)
此代码没有任何用处:
SELECT user1id, user2id
WHERE user1id=$userId
OR user2id = $userId
您在其中缺少具有列FROM
和user1id
的表或视图的user2id
。< / p>
答案 1 :(得分:0)
解决了这对我有用
SELECT users.username, users.fullName, users.user_id
FROM users
WHERE
users.user_id IN (SELECT user2id FROM friendships WHERE user1id=21)
OR
users.user_id IN (SELECT user1id FROM friendships WHERE user2id=21)