我怎麼去顯示最新的帖子的時候我有兩個表,都含有一種叫做CREATION_DATE獲取的最新訊息根據日期
列這將是簡單的,如果我所要做的就是根據帖子created_on的值獲取最近的帖子,但是如果帖子包含回覆,我需要將這個因子納入等式。 如果帖子有最近的回覆我想獲得回覆created_on值,但也獲得帖子post_id和主題。
的帖子表結構:
CREATE TABLE `posts` (
`post_id` bigint(20) unsigned NOT NULL auto_increment,
`cat_id` bigint(20) NOT NULL,
`user_id` bigint(20) NOT NULL,
`subject` tinytext NOT NULL,
`comments` text NOT NULL,
`created_on` datetime NOT NULL,
`status` varchar(10) NOT NULL default 'INACTIVE',
`private_post` varchar(10) NOT NULL default 'PUBLIC',
`db_location` varchar(10) NOT NULL,
PRIMARY KEY (`post_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
的回覆表結構:
CREATE TABLE `replies` (
`reply_id` bigint(20) unsigned NOT NULL auto_increment,
`post_id` bigint(20) NOT NULL,
`user_id` bigint(20) NOT NULL,
`comments` text NOT NULL,
`created_on` datetime NOT NULL,
`notify` varchar(5) NOT NULL default 'YES',
`status` varchar(10) NOT NULL default 'INACTIVE',
`db_location` varchar(10) NOT NULL,
PRIMARY KEY (`reply_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
這裏是我的查詢爲止。我已經刪除了提取日期的嘗試。
$strQuery = "SELECT posts.post_id, posts.created_on, replies.created_on, posts.subject ";
$strQuery = $strQuery."FROM posts ,replies ";
$strQuery = $strQuery."WHERE posts.post_id = replies.post_id ";
$strQuery = $strQuery."AND posts.cat_id = '".$row->cat_id."'";
和它最近的文章中我會扔在一個'LIMIT 0,1' – 2010-05-12 08:22:47
@DavidYell,良好的通話 – 2010-05-12 08:30:49
在MySQL中,MAX()只接受一個參數,是一個聚合函數。 – ceteras 2010-05-12 09:13:32