Как я могу добавить следующий пример кода 1 в пример 2, не нарушая мой запрос.
Пример 1
INNER JOIN users ON users_articles.user_id = users.user_id
Пример 2.
SELECT users.*
FROM users_articles
INNER JOIN articles_comments ON users_articles.id = articles_comments.article_id
INNER JOIN users ON articles_comments.user_id = users.user_id
WHERE users.active IS NULL
AND users.deletion = 0
ORDER BY articles_comments.date_created DESC
LIMIT 50
Если я правильно вас понимаю, вы хотите дважды присоединиться к таблице users
, один раз для комментариев и один раз для статей? В этом случае вам нужно добавить псевдоним таблицы. Я обычно использую одно- или двухбуквенные псевдонимы для краткости, даже если я не дублирую таблицы, но это не важно.
SELECT ...
FROM users_articles UA
INNER JOIN articles_comments AC ON UA.id = AC.article_id
INNER JOIN users UC ON AC.user_id = UC.user_id
AND UC.active IS NULL
AND UC.deletion = 0
INNER JOIN users UA ON UA.user_id = users.user_id
AND UA.active IS NULL
AND UA.deletion = 0
ORDER BY AC.date_created DESC
LIMIT 50
BTW, Не используйте SELECT *
, почти всегда лучше перечислять именно то, что вы хотите.
Отказ от ответственности. Возможно, я неправильно понял, что вы пытаетесь сделать; размещение небольшого контекста для вашего кода обычно является хорошей идеей. В этом случае имена таблиц немного подбросили меня (если это так, я думаю, что я только что ушел с users
, articles
и comments
).
users.deletion = 1