ThomasP: Mysql: Queries auf 4.024 portieren

Hallo!

Ich bin gerade am Verzweifeln weil ich mein selbst programmiertes Forum auf einem Server installieren muß auf dem die prähistorische MySql-Version 4.024 läuft. Folgendes läuft zwar super unter MySQL 5.xx aber eben nicht unter 4.024:

SELECT isgweb_threads.id, title, (SELECT MAX(creationtime) FROM isgweb_threads AS trs WHERE trs.parentid=isgweb_threads.id) AS lastaction, (SELECT COUNT(*) FROM isgweb_threads AS trs2 WHERE trs2.parentid=isgweb_threads.id) -1 AS answers, isgweb_user.username, forumid FROM isgweb_threads, isgweb_user WHERE parentid=isgweb_threads.id AND isgweb_user.id=isgweb_threads.userid ORDER BY lastaction DESC LIMIT 0, 10

Ok, ist sicher nicht supereffizient programmiert (bin einfach kein DB-Profi) aber klappt unter aktuellen Versionen. Vermutlich liegts an den Selects in Klammer. Das kann die alte Version einfach nicht.

Daher habe ich mir folgendes überlegt:

SELECT isgweb_threads.id, title, count(*) -1 AS answers, MAX(creationtime) AS lastaction, username, isgweb_threads.forumid AS forumid FROM isgweb_threads, isgweb_user WHERE isgweb_threads.userid = isgweb_user.id GROUP BY parentid ORDER BY MAX(creationtime) DESC LIMIT 0, 10

Das sieht schon etwas schlanker aus und da sind keine Sub-Queries mehr drin. Naja, geht trotzdem nicht. "Invalid use of group-function".

Langsam bin ich am verzweifeln. Das Ganze sollte mir einfach nur die neuesten 10 Threads anzeigen, mehr nicht.

Die Tabelle ist ganz einfach aufgebaut:

id int
title varchar
content text
userid int
forumid int
parentid int
creationtime int

Anzumerken wäre noch, daß der jeweils erste Beitrag eines Threads parentid=id gesetzt hat. Das vereinfacht einfach die Anzeige des Threads selbst.

Über Hilfe von Leuten die sich mit DBs besser auskennen als ich wäre ich sehr glücklich :)

Irgendwie muß es ja gehen, denn es gab auch zu Zeiten von MySQL 4.024 bereits Foren ;)

viele Grüsse und danke im Voraus

Thomas.

  1. Mahlzeit ThomasP,

    Ich bin gerade am Verzweifeln weil ich mein selbst programmiertes Forum auf einem Server installieren muß auf dem die prähistorische MySql-Version 4.024 läuft.

    Was spricht dagegen, die Ursache Deines Problems zu beheben (nämlich diese antike und archäologisch nicht besonders wertvolle MySQL-Version auf den neuesten Stand zu bringen), anstatt an den Symptomen herumzudoktorn?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|