我有一个表用户:
身份证件
名称
另一个表阻止了用户:
用户id
用户\u被阻止\u id
当一个用户阻止另一个用户时,会将他们的id添加到被阻止的\u users.user\u id和他们在被阻止的\u users.user\u blocked\u id中阻止的用户。
我想从users表中选择我的user.id不在blocked\u users.user\u id(我已阻止的用户)或blocked\u users.user\u block\u id(其他人已阻止我)中的所有用户。所以他们都看不到别人的信息。
SELECT a.*
FROM users a
LEFT JOIN blocked_users b
ON b.user_id = a.id
AND b.user_blocked_id = a.id
WHERE NOT b.user_id = '$id'
AND NOT b.user_blocked_id = '$id';
我被这个问题困住了!
2条答案
按热度按时间wlsrxk511#
如果要从users表中选择所有用户,请使用以下代码:
gdrx4gfi2#
使用
not exists
:注意使用
?
. 用于将参数传入查询。这比用字符串值来填充查询要好得多。