2 messages in com.mysql.lists.mysql-desuche nach richtigem select
FromSent OnAttachments
Felix Antonius Wilhelm Ostmann19 May 2004 17:41 
Jürgen Achberger20 May 2004 08:24 
Subject:suche nach richtigem select
From:Felix Antonius Wilhelm Ostmann (ostm@os3.com)
Date:05/19/2004 05:41:42 PM
List:com.mysql.lists.mysql-de

CREATE TABLE `forum_post` ( `thread_id` smallint(5) unsigned NOT NULL default '0', `post_id` smallint(5) unsigned NOT NULL default '0', `msg` text NOT NULL, `zeit` datetime NOT NULL default '0000-00-00 00:00:00', `user_name` varchar(40) NOT NULL default '', PRIMARY KEY (`thread_id`,`post_id`), KEY `zeit_index` (`zeit`) );

CREATE TABLE `forum_thread` ( `thread_id` smallint(6) unsigned NOT NULL auto_increment, `titel` varchar(40) NOT NULL default '0', PRIMARY KEY (`thread_id`) );

So, das da oben sind die beiden Tabellen (nur das nötigste) Nun will ich aber die aktuellsten 50 Threads haben, wobei die Aktualität in forum_post.zeit drin steht und zwar der datensatz von einer thread_id mit der höchsten post_id. Wobei halt wichtig ist, das die post_id für jeden Thread bei 1 einfängt und für jedes posting in dem Thread hochgezählt wird. Mein Select sieht bisher so aus, nur damit bekomme ich halt die post_id=1 und nicht die größte ...

SELECT forum_thread.thread_id, forum_thread.titel, forum_post.zeit FROM forum_thread LEFT JOIN forum_post ON forum_thread.thread_id=forum_post.thread_id AND forum_post.post_id=1 ORDER BY forum_post.zeit DESC LIMIT 50