【发布时间】:2017-04-14 17:06:04
【问题描述】:
我有一个内部网站论坛。一个非常简单的表格,只有两个表格:一个用于论坛帖子,另一个用于论坛内容。
我确实显示了所有帖子的列表,当用户点击每个项目时,它会转到包含所有 cmets 的帖子。
论坛帖子按发布日期排序(按降序排列),但我想按更新日期排序,所以不仅新帖子而且新评论的帖子也会出现在顶部.
这是两张表:
CREATE TABLE foro (
foroID int unsigned not null auto_increment primary key,
userID int(11) NOT NULL,
estado char(7) NOT null DEFAULT 'abierto',
asunto char(200) NULL,
fecha char(25) NULL,
deprecated_userID int(11) NULL,
deprecated_nodeID int(11) NULL,
texto text null
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE foroComentarios (
comentarioID int unsigned not null auto_increment primary key,
foroID int(11) NOT NULL,
userID int(11) NOT NULL,
fecha char(25) NULL,
deprecated_userID int(11) NULL,
deprecated_nodeID int(11) NULL,
texto text null
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这是我现在展示论坛帖子的方式:
SELECT foro.foroID,
foro.userID AS userid,
foro.asunto,
foro.estado,
foro.fecha,
usuarios.userID, usuarios.docFoto,
usuarios.userApellido, usuarios.userNombres
FROM foro JOIN usuarios
ON foro.userID = usuarios.userID
ORDER BY foro.fecha DESC
我认为我应该为此使用子查询,但我尝试了几种方法,唯一得到的是重复帖子的列表。 有没有办法在不修改表格结构的情况下实现这一点?
【问题讨论】:
-
感谢您的评论。我认为提供一个关于我正在做的事情的查询示例就足以作为“最小、完整和可验证示例 (MCVE)”?
-
所以,现在你知道了。