我需要帮助来编写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/