Guten Tach!
Ich noch einmal (hoffentlich das letzte Mal).
Meine Tabelle:
-------------------------------------------------
| id | fid | tid | date | title | autor |
-------------------------------------------------
| 1 | 2 | 1 | 143456 | Hier und so | me |
| 2 | 2 | 1 | 435868 | Bdlllaaa | him |
| 3 | 2 | 2 | 322455 | ... Aja | we |
| 4 | 2 | 2 | 012343 | Hmpfa! | her |
Ich brauch nun eine Query, die mir aus fid = 2
1. für jede tid den kleinsten Wert an date und restliche Spalten liefert (Also den ältesten Datensatz).
2. für jede tid den größten Wert an date und restliche Spalten liefert (also den neusten Datensatz).
3. Beides über die tid verbindet.
Nach einigem Überlegen habe ich nun folgenden Query:
SELECT * FROM
(SELECT * FROM
(SELECT topicid, MIN(datum) mi FROM maris_board_posts GROUP BY topicid) minq,
maris_board_posts tab2
WHERE
tab2.forumid = 2
AND
tab2.topicid = minq.topicid
AND
tab2.datum = minq.mi) frage1,
(SELECT * FROM
(SELECT topicid, MAX(datum) ma FROM maris_board_posts GROUP BY topicid) maxq,
maris_board_posts tab1
WHERE
tab1.forumid = 2
AND
tab1.topicid = maxq.topicid
AND
tab1.datum = maxq.ma) frage2
WHERE
frage1.topicid = frage2.topicid
Hierbei erhalte ich aber die betitelte Fehlermeldung. Natürlich kann es sein, dass mein Ansatz total dämlich ist oder sonst etwas. Ansonsten wäre es hilfreich zu erfahren, an welcher Stelle die Spalte doppelt vorkommt.
Ich bin gespannt :)
Gruß
Voodoo