Hallo zusammen,
ich bin gerade dabei mein phpbb Forum in das Drupal-CMS zu integrieren.
Jedes Thema wird in der Tabelle phpbb_topics gestartet und erhält dort (u.a.) einen Eintrag des beginnenden Posts in der Spalte phpbb_topics.topic_first_post_id.
Die Topics konnte ich relativ problemlos abfragen und habe sie in die Drupal-Tabelle importieren können. Bei den Antwort-Posts auf die Topics tue ich mich sauschwer. Ich krieg die Abfrage einfach nicht hin. Sinngemäß sollen nur diejenigen Posts angezeigt werden, die nicht als topic_first_post gelistet sind, weil ich die ja bereits importiert habe. Bei Drupal wird unterschieden zwischen (Node = Topic und comment = post). In der (Zieltabelle) comments-tabelle brauche ich erschwerenderweise auch noch den Usernamen, usw. usw.
Bei der folgenden Abfrage zeigt er mir 260.179 Datensätze der 260.195 Datensätze von phpbb_posts-Tabelle an:
Ich brauch's aber ja genau umgekehrt. Er soll mir ja nur die Teilmenge an Posts anzeigen, die nicht als Themenstarter in der Tabelle phpbb_topics gelistet sind.
Ich erspare Euch mal die ganzen Versuchsabfragen
Entweder das Ergebnis war Null, oder ich erhielt dann um die 4.400 Datensätze aus der phpbb_topics-Tabelle, die tatsächlich 4.415 Datensätze enthält.
Ich hoffe ich konnte mein Problem einigermaßen veranschaulichen
Viele Grüße
Matthias
ich bin gerade dabei mein phpbb Forum in das Drupal-CMS zu integrieren.
Jedes Thema wird in der Tabelle phpbb_topics gestartet und erhält dort (u.a.) einen Eintrag des beginnenden Posts in der Spalte phpbb_topics.topic_first_post_id.
Die Topics konnte ich relativ problemlos abfragen und habe sie in die Drupal-Tabelle importieren können. Bei den Antwort-Posts auf die Topics tue ich mich sauschwer. Ich krieg die Abfrage einfach nicht hin. Sinngemäß sollen nur diejenigen Posts angezeigt werden, die nicht als topic_first_post gelistet sind, weil ich die ja bereits importiert habe. Bei Drupal wird unterschieden zwischen (Node = Topic und comment = post). In der (Zieltabelle) comments-tabelle brauche ich erschwerenderweise auch noch den Usernamen, usw. usw.
Bei der folgenden Abfrage zeigt er mir 260.179 Datensätze der 260.195 Datensätze von phpbb_posts-Tabelle an:
Code:
SELECT '0' AS pid, phpbb_posts.poster_id AS uid, phpbb_posts_text.post_subject AS subject, phpbb_posts_text.post_text AS comment, phpbb_posts.post_time AS timestamp, '0' AS status, '1' AS format, phpbb_users.username AS name FROM phpbb_posts_text INNER JOIN phpbb_posts ON (phpbb_posts_text.post_id=phpbb_posts.post_id) INNER JOIN phpbb_users ON (phpbb_posts.poster_id = phpbb_users.user_id) WHERE exists ( SELECT phpbb_posts.post_time, phpbb_topics.topic_time FROM phpbb_posts, phpbb_topics WHERE phpbb_posts.post_time!=phpbb_topics.topic_time)
Ich erspare Euch mal die ganzen Versuchsabfragen

Entweder das Ergebnis war Null, oder ich erhielt dann um die 4.400 Datensätze aus der phpbb_topics-Tabelle, die tatsächlich 4.415 Datensätze enthält.
Ich hoffe ich konnte mein Problem einigermaßen veranschaulichen

Viele Grüße
Matthias
Kommentar