Hallo Liebe Community,
ich arbeite seit ungelogen 3-4 Stunden daran eine Abfrage zu schreiben, die mir einfach nicht gelingen will. Ich hoffe ihr könnt mir helfen.
Ich habe zwei Tabellen. In der einen sind die Themen eingetragen und in der anderen die Beiträge zu diesen Themen. Beide Tabellen haben die themenid gemeinsam. In der Tabelle der Beiträge sind ganz viele Beiträge von Usern meiner Seite. Ich will nun die Themen in die ein bestimmter User geschrieben hat, nach dem Datum sortieren andem er die Beiträge geschrieben hat.Die Themen sollen aber nicht doppelt aufgelistet werden.
Hier mal die Tabellen zur veranschaulichung:
Tabellenname: Themen
themenid themenname
1 thema1
2 thema2
3 thema3
__________________________________
Tabellenname: Beiträge
themenid beitragsis userid posttime
1 13 1 (timestamp_vorgestern)
3 14 3 (timestamp_gestern)
4 14 1 (timestamp_vor3stunden)
1 15 1 (timestamp_vor3minuten)
1 16 2 (timestamp_voreinemJahr)
5 17 1 (timestamp_vor3sekunden)
5 18 1 (timestamp_vor5jahren)
Ich will nun die Themen vom User mit der ID 1 nach ihrer aktualität auflisten lassen. Das Problem ist, dass die ids der Themen zum Teil Doppelt sind. Ich will die Themen aber nicht doppelt auflisten, sondern nur einmal.
In dem Beispiel also, sollte es nachher so aussehen:
themenid userid posttime
5 1 (timestamp_vor3sekunden)
1 1 (timestamp_vor3minuten)
4 1 (timestamp_vor3stunden)
Aber die Themenid's sollen nicht doppelt sein. So wie hier:
themenid userid posttime
5 1 (timestamp_vor3sekunden)
1 1 (timestamp_vor3minuten)
4 1 (timestamp_vor3stunden)
1 1 (timestamp_vorgestern)
5 1 (timestamp_vor5jahren)
Mein Ansatz lieferte mir bisher immer nur das ungewünschte Ergebniss:
SELECT t.themenid
FROM Beiträge
WHERE userid ='1'
ORDER BY posttime DESC
Ich habe es mit GROUP BY oder DISTINCT versucht, aber jedes mal, wenn ich es so mache werden die Themen nichtmehr nach posttime sortiert.
Ich hoffe ihr versteht mein Problem und könnt mir weiterhelfen.