Ich benutze diese Abfrage, um ein Forum Board und alle seine Unterforen auszudrucken. Was erwartet wird, ist, dass alle Beiträge in allen Threads, die zu diesem Forum gehören, angezeigt werden. Was ich möchte, ist nur der erste Beitrag von jedem Thread wird zusammen mit dem Forum Titel angezeigt.MySQL LIMIT 1 auf zweiter Tabelle mit INNER JOIN
Abfrage:
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
Bitte beachten Sie die parent_id
Feld ist eine Variable in der realen Abfrage angegeben.
So. Wenn mir das Sinn macht, kann mir jemand helfen, zu welcher Frage ich schreiben soll, nur den ersten Beitrag aus jedem Thread auswählen?
Wenn es keine einfachen (ish) Antworten gibt, wie könnte ich es tun, wenn ich ein Postnummernfeld in der zweiten Tabelle verwendet, zum Beispiel hat der erste Beitrag im Thread die Nummer 1, der zweite Post hat die Nummer 2 usw Wenn ich diese Methode verwende, möchte ich natürlich nur Beiträge mit einem Zahlenfeld von 1 auswählen. Ich könnte einfach die ursprüngliche Abfrage mit einer AND post_number=1
richtig erweitern?
Dank für das Lesen,
James
Fast perfekt! Ich bin jedoch ein echtes MySQL-Noblet, also wären Sie so freundlich, mir zu zeigen, wie ich diese Methodik in meine ursprüngliche Abfrage integrieren kann? Bitte :-) – Bojangles
@JamWaffles: bearbeitet – thejh
Vielen Dank für Ihre Hilfe, aber das wird nicht funktionieren. Ich werde ein Post-Nummer-Feld in der Datenbank verwenden, wie ich in meinem OP gesagt habe. Tut mir leid, dass ich deine Zeit verschwende. Ich werde das markieren, aber nicht als die richtige Antwort - gut, aber es ist einfach nicht für mich arbeiten. – Bojangles