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