我有一个问题,我似乎无法单独使用谷歌搜索来解决!
我试图从我的表中返回所有用户,不包括当前登录的 session 用户,我用...来做到这一点
$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_followed_id
在我的查询中,我想以某种方式添加一个 where
子句,说明如果返回的任何用户存在于用户友谊表的 user_followed_id
列中,则不要返回结果,这有意义吗?
如有任何帮助,我们将不胜感激。
最佳答案
这是使用 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
关于php - 如果两个表中都不存在记录,则从数据库返回记录? PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867199/