Как корректно осуществить выборку из БД?

Здравствуйте, уважаемые программисты. Помогите составить правильно запрос по выборке данных.
Есть таблица с комментариями. Хочу сделать модуль поиска спам сообщений. Сейчас запрос такой:
$coms_sql = $sql->query("SELECT * FROM `".MY_PREFIX."_comments` WHERE `text` LIKE '%[url%' AND `news_id` != 77278");

Запрашиваю комменты с активными ссылками, при этом исключив конкретную новость.
Но нужно еще добавить сюда проверку пользователя по рейтингу и дате регистрации.
Эти данные хранятся в другой таблице users поля rating (INT 11) и дата регистрации stamp (timestamp)

В таблице комментариев есть поле user_id, по которому можно делать сравнение рейтинга и даты регистрации пользователя из таблицы users.

В итоге хочется добиться чтобы запрос выводил не все комментарии с активными ссылками, а только те, авторы которых имеют рейтинг меньше 500 и дату регистрации меньше года...

За ранее спасибо.
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
"SELECT c.* FROM `" . MY_PREFIX . "_comments` AS c
INNER JOIN `" . MY_PREFIX . "_users` AS u ON c.user_id = u.id
WHERE c.text LIKE '%[url%' AND c.news_id != 77278 AND
      u.rating < 500 AND u.stamp > DATE_SUB(NOW(), INTERVAL 1 YEAR)"

Это если первичный ключ в users - id. Если user_id, заменить u.id на u.user_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы