Интересно, может ли кто-нибудь помочь мне с запросом SQL.
Я пытаюсь отобразить все результаты, кроме случаев, когда в таблице 2 столбец userid равен 1, а скрытый столбец равен 1.
Я в основном пытаюсь скрыть результаты от отдельных пользователей на основе их id
и значения в скрытом столбце либо 1
, либо пусто.
Мне до сих пор удавалось сделать запрос, который выполняетнапротив и не могу понять, как это изменить.Я попытался добавить !=
, <>
, NOT
и некоторые другие вещи, но у меня ничего не работает!
Вот запрос, с которым я работаю.
$stmt = $conn->prepare("SELECT tl.id, tl.name, tl.locale, uh.hidden
FROM theList AS tl
LEFT JOIN user_hidden_list AS uh ON uh.est_id = tl.id
WHERE uh.userid = '1' AND uh.hidden = '1'");
Как отобразить все результаты, ожидаемые результаты с uh.userid = 1
и uh.hidden = 1
ОБНОВЛЕНИЕ: Таблицы
Таблица: user_hidden_list
userid | Hidden | est_id
---------------------------
1 | 1 | 1
2 | 1 | 1
1 | 1 | 2
Таблица:theList
id | name | locale
------------------------
1 | Jacks | LDN
2 | MacD's | LDN
3 | BK | LDN
4 | Byron | LDN
Так что, если я вошел в систему с и userid
из:
1
, я должен увидеть: БК и Байрон.
2
Я должен видеть: MacD, BK и Байрон.
3
(или что-нибудь еще), которые я должен видеть: домкраты, MacD, BK и Байрон.