У меня есть две таблицы, которые связывают друг с другом через id, это «submit_moderate», а один – «submit_post»,
Таблица «submit_moderate» выглядит так:
id moderated_by post 1 James 60 2 Alice 32 3 Tim 18 4 Michael 60
Я использую простой запрос для получения данных из таблицы «submit_post» в соответствии с таблицей «submit_moderate».
$get_posts = mysql_query("SELECT * FROM submit_moderate WHERE moderated_by!='$user'");
$user
– это человек, который вошел в систему.
Теперь моя проблема в том, когда я запускаю этот запрос, а пользователь «Майкл» получит эту
1 James 60 2 Alice 32 3 Tim 18
Теперь технически это правильно, но я не хочу извлекать первую строку, потому что 60 связан с Майклом, а также с Джеймсом. В принципе, я не хочу извлекать это значение «60».
Я знаю, почему это происходит, но я не могу понять, как это сделать. Я ценю любые подсказки или советы, которые я могу получить.
SELECT DISTINCT post FROM submit_moderate WHERE post NOT IN (SELECT post FROM submit_moderate WHERE moderated_by = 'Michael')
PS: не уверен, но в некоторых случаях, вероятно, стоит изменить select-часть вложенного запроса на сообщение SELECT DISTINCT post
Предположим, что $ user = 'Michael';
Если вы действительно не хотите 1-й ряд пользователей, как вы сказали, что Джеймс совпадает с майхалом в сообщениях,
$ post = mysql_query_first ("SELECT post FROM submit_moderate WHERE moderated_by = '$ user'");
$ get_posts = mysql_query ("SELECT * FROM submit_moderate WHERE moderated_by! = '$ user' и post! = '$ post');
или
$ get_posts = mysql_query ("SELECT * FROM submit_moderate WHERE post NOT IN (SELECT post FROM submit_moderate WHERE moderated_by = 'Michael') и moderated_by! = 'Michael'");