我需要帮助来编写SQL,但我不知道在这种情况下如何编写。
尝试了许多不同的选择,但没有成功。
我的mysql数据库中有两个表

users (id, name, lastname)
blocked_users (id, user_id, blocked_id)

users table
id  name    lastname
1   nick    james
2   james   dean
3   mike    bendon

blocked_users table
id  user_id     blocked_id
1   2           1
2   2           3

例子:
我想做的是在users表中显示所有用户,但在这种情况下排除
被用户id 2阻止的。
所以,如果我是以Mike Bendon的身份登录的示例(users表中的id 3)
我不应该看到james dean(用户表中的id 2),因为他阻止了我。

最佳答案

不知道如何用php运行它,但我认为这个SQL应该按照您的要求:

SELECT *
FROM users
WHERE id NOT IN
(SELECT user_id FROM blocked_users WHERE blocked_id = $logged_id);

评论后编辑:
抱歉,我误读了id列名。现在应该修好了。

关于php - 在MySQL中排除结果,不在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13641111/

10-11 23:02
查看更多