.| Autor | Beitrag |
|---|---|
|
000 27.04.2006, 00:37 K-Putt |
Der Titel klingt leider einfacher als die Situation ist. Tabelle wb_threads: Tabelle wb_posts: Nun die soll-Situation: Durch ein einzelnes Query möchte ich alle Threads auslesen, und möchte sie nach ihrem neuesten Beitrag, also dem Eintrag in der Tabelle wb_posts mit dem höchsten Wert für "timestamp", sortieren. Klingt einfach, ist es aber nicht. MySql unterstützt bis zur Version 4.1 allerdings keine Sub-Selects, darum muss ich das Query so umschreiben, dass auch MySQL damit klarkommt. Verwende ich jetzt allerdings diese Abfrage hier: bekomme ich zwar die Timestamps aus der Post-Tabelle, allerdings bekomme ich einen Datensatz für jeden einzelnen Post in der Post-Tabelle. Würde mit den obigen Beispieldaten dann so aussehen: Das will ich natürlich nicht haben - jeder Thread soll in der Übersicht maximal einmal vorkommen, und für jede Zeile soll eben der maximale zugehörige Timestamp aus der Post-Tabelle her. Natürlich hab ich auch dran gedacht, die Ergebnisse einfach per GROUP BY zu gruppieren - funktioniert nur leider nicht, weil alle Werte, die im SELECT vorkommen, auch im GROUP BY vorkommen müssen - und dadurch wird natürlich nix mehr gruppiert, weil jeder Timestamp dafür sorgt, dass jede Zeile anders ist, und nicht gruppiert werden kann. An dem Problem beiß ich mir nun schon seit Stunden die Zähne aus, es muss doch möglich sein, das mit einem einzelnen Query sauber zu implementieren...hat jemand einen Tipp für mich? --Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database |
|
Profil || Suche |
|
001 27.04.2006, 12:30 theDon |
\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
002 27.04.2006, 15:22 K-Putt |
Du bist mein neuer Gott, danke vielmals. --Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database |
|
Profil || Suche |

