我有一个搜索引擎和一个阻止用户表。 我不希望阻止用户出现在搜索中,所以我尝试了:
select c.nome, c.user, c.id from users c
where (c.id not in (select `block` from block where user = '1'))
and c.user like '%uk%' OR c.nome like '%uk%'
阻止表我有id自动增量,用户(谁阻塞),阻止(谁被阻止)和日期。因此,我不希望用户'1'阻止的用户搜索结果。
问题是,它不起作用,它也被阻止了用户。
答案 0 :(得分:1)
混合AND
和OR
时使用括号。您还在子查询中混淆了块和用户。
select nome, id
from users
where id not in (select blocked_user from block where blocking_user = 1)
and (user like '%uk%' OR nome like '%uk%');