У меня есть таблица с названием review
:
review_id cat_id public_or_private
1 1 0
11 2 2
12 3 1
13 4 2
14 5 2
И таблица с названием category
:
cat_id user_id
1 10298
2 10299
3 10300
4 10299
5 10298
Мое заявление:
$sql2 = "SELECT *
FROM review
INNER JOIN category ON review.cat_id = category.cat_id
WHERE review.public_or_private = 2";
Это даст мне результат:
review_id cat_id public_or_private cat_id user_id
11 2 2 2 10299
13 4 2 4 10299
14 5 2 5 10298
contacts
таблица:
user_id contact_id
10299 10298
10299 10300
10300 10298
10300 10301
Как я могу отточить это дальше? : Мне нужны результаты, только если user_id
не находится в столбце contact_id
таблицы contacts
.
Итак, с точки зрения пользователя 10300
результат должен быть:
review_id cat_id public_or_private cat_id user_id
11 2 2 2 10299
13 4 2 4 10299
Я считаю, что мне следует использовать NOT EXISTS
или NOT IN
, но не знаю, как это сказать.
user_id
иcontact_id
очень запутанным. Что они собой представляют? Что все это означает и что на самом деле делает запрос, который вы хотите? - person KIKO Software   schedule 20.06.2019user_id
, который подключается к базе данных через php и выполняет разные операции. Таблицаcontacts
в столбцеcontact_id
содержит контакты10300
или того, ктоuser_id
вошел в систему. Надеюсь, это немного проясняет ситуацию ... - person CHarris   schedule 20.06.2019public_or_private = 2
, а также возвращал пользователей, написавших эти отзывы. Это только для одного бесконтактного пользователя? Или несколько? - person KIKO Software   schedule 20.06.2019