我有一个问题,我似乎无法单独用Google搜索来解决这个问题!
我试图从我的表中返回所有用户,不包括当前登录的会话用户,我这样做...
$stmt = $conn->prepare('SELECT *
FROM users
WHERE user_id <> ?
AND credits_offered <= credits_bank');
$stmt->bindParam(1, $uid, PDO::PARAM_INT);
$stmt->execute();
我有另一张表,但在此表中名为user_friendships
有3列,
id | user_id | user_followed_id
在我的查询中,我想以某种方式添加一个where
子句,说如果返回的任何用户存在于用户友谊表的user_followed_id
列中,那么就不会返回它们,这有道理吗?
非常感谢任何帮助。
答案 0 :(得分:3)
以下是使用OUTER JOIN
的一种方式:
SELECT DISTINCT u.*
FROM users u
LEFT JOIN user_friendships uf ON u.user_id = uf.user_followed_id
WHERE u.user_id <> ?
AND u.credits_offered <= credits_bank
AND uf.user_followed_id IS NULL