Si je vous comprends bien, vous voulez rejoindre la table users
deux fois, une fois pour les commentaires, et une fois pour les articles? Dans ce cas, vous devez alias la table. J'utilise habituellement des alias à une ou deux lettres pour la brièveté même si je ne double pas les tables, mais ce n'est pas important.
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, Ne pas utiliser SELECT *
, il est presque toujours préférable de lister précisément ce que vous voulez.
Avis de non-responsabilité: J'ai peut-être mal compris ce que vous essayez de faire; poster un peu de contexte à votre code est généralement une bonne idée. Dans ce cas, les noms des tables m'ont un peu ébranlé (si c'est ce que je pense, je suis juste parti avec users
, articles
et comments
).
Je ne veux pas afficher les articles et ses commets où 'users.deletion = 1' – HELP
Je peux toujours le faire fonctionner :( – HELP
Pourquoi ça ne marche pas? Que fait-il? Que voulez-vous qu'il fasse Le code ci-dessus devrait également rejeter les utilisateurs supprimés, donc je ne reçois pas vraiment votre commentaire à ce sujet, soit – Amadan