J'utilise cette requête pour imprimer un forum et tous ses sous-forums. Ce qui se passe, comme on peut s'y attendre, c'est que tous les messages de tous les sujets appartenant à ce forum sont affichés. Ce que je voudrais arriver est seulement le premier message de chaque fil est affiché avec le titre du forum.MySQL LIMIT 1 sur la deuxième table avec INNER JOIN
Requête:
SELECT tf_threads.*, tf_posts.* FROM tf_threads INNER JOIN tf_posts ON tf_threads.thread_id=tf_posts.thread_id AND tf_threads.parent_id=54 ORDER BY tf_posts.date ASC
S'il vous plaît noter le champ parent_id
est donné une variable dans la requête réelle.
Donc. Si j'ai un sens, quelqu'un peut-il m'aider à quelle question à écrire pour ne sélectionner que le premier message de chaque fil?
S'il n'y a pas de réponses simples (ish), comment pourrais-je le faire si j'ai utilisé un champ de numéro de poste dans la deuxième table, par exemple, le premier poste de discussion a le numéro 1 Si j'utilise cette méthode, je voudrais évidemment seulement sélectionner des postes avec un nombre de champ de 1. Je pourrais simplement développer la requête originale avec un AND post_number=1
à droite?
Merci pour la lecture,
James
Presque parfait! Je suis un vrai Nooblet MySQL, cependant, seriez-vous assez aimable pour me montrer comment incorporer cette méthodologie dans ma requête originale? S'il vous plaît :-) – Bojangles
@JamWaffles: édité – thejh
Merci beaucoup pour votre aide, mais cela ne fonctionnera pas. Je vais utiliser un champ de numéro de poste dans la base de données comme je l'ai dit dans mon OP. Désolée de vous avoir fait perdre votre temps. Je vais marquer cela, mais pas comme la bonne réponse - bien que ce soit simplement refusé de travailler pour moi. – Bojangles