удалить из поиска заблокированных пользователей mysql

0

У меня есть поисковая система и таблица пользователей блоков. Я не хочу, чтобы заблокированные пользователи появлялись в поиске, поэтому я попытался:

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%'

block table У меня есть автоинкремент id, пользователь (который блокирует), блокирует (кто заблокирован) и дату. Поэтому я не хочу получать результаты при поиске у пользователей, заблокированных пользователем '1'.

Проблема в том, что она не работает, она также блокирует пользователей.

  • 0
    не в выборе идентификатора от пользователей, где блок = 1
  • 0
    @ OR c.nome like '%uk%' если я OR c.nome like '%uk%' это работает. но мне нужно получить поиск по имени тоже.
Теги:

1 ответ

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%');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню