Enigma: Komplizierte SQL-Syntax umändern

Beitrag lesen

Hi

Zwei andere Verbindungsglieder wären auch denkbar:
f.last_post_id <=> last_post_id (ID des letzten Posts)
f.last_post <=> last_post (Unix-Zeit des letzten Beitrags)

last_post und last_post_id scheinen zwei selbstreferenzen auf die eigene tabelle forum2_topic zu sein. ich vermute mal, da stehen die daten drinne, die dann auch als link auf der startseite angezeigt werden.

Richtig.

aber dann sollte auch eine entsprechende abfrage auf der startseite sein, die diese informationen ausliesst, kannst du so eine finden ?

Wenn man einen neuen Beitrag in eine Topic schreibt, wird in die Tabelle "forum2_topics" und in "forum2_forums" die Felder "last_post_id", "last_post" und "last_poster" upgedated.
Der SQL (aus meinem OP) liest aber die Daten aus forum2_forums aus, und diese stellt er dann dar.

das erste was wir machen, wir fügen die weitere tabelle einfach in die abfrage mit ein und zwar als OUTER JOIN, kann ja sein, dass das forum noch gar keine beiträge hat.

SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, question
FROM forum2_categories AS c
INNER JOIN forum2_forums AS f ON c.id=f.cat_id
LEFT JOIN forum2_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=1)
LEFT JOIN forum2_topics ON t (t.forum_id = f.id)
WHERE fp.read_forum IS NULL OR fp.read_forum=1
ORDER BY c.disp_position, c.id, f.disp_position

Und wo ist hier der OUTER JOIN?
Na gut, also, deine beiden SQLs geben mir dieselbe Fehlermeldung zurück: "Unknown column 't.last_post_id' in 'on clause'".

oder eine zweite abfrage einbauen.

SELECT last_post, last_post_id, last_poster, question
FROM forum2_topics

Wäre halt geschickter, wenn ic das in den einen SQL einfügen könnte. Wenn aber alle Stricke reißen, hätte ich das aber so gemacht.

Viele Grüße
Enigma