查询以选择帖子和所有附件

时间:2014-05-07 19:06:13

标签: python mysql

所以,我正在建立这个论坛。我在撰写优雅的选择查询时无法从数据库获取某个主题的所有帖子。这是架构:

表帖子具有以下结构:

   id int(5) not null auto_increment,
   user_id int(5) not null,
   topic_id int(5) not null,
   post_date datetime not null,

现在,还有一个名为附件的表,其中引用了附件。我希望能够只用一个查询选择特定帖子的附件。这是附件表结构:

   id int(5) not null auto_increment,
   post_id int(5) not null,
   post_name varchar(255) not null default '',
   path varchar(255) not null,

这不是我的桌子真正的样子。我只是想要一个基本的想法如何做到这一点。我甚至无法想到最少的解决方案。现在附件表有一个引用post表的外键。但是,帖子可能有许多附件。那么如何在一个查询中选择帖子及其所有附件呢?也许子查询可以工作?

1 个答案:

答案 0 :(得分:0)

SELECT * FROM attachments WHERE post_id in (SELECT id FROM posts WHERE topic_id = ?);

这样的东西?

编辑: 毕竟不是海报想要的东西。我不认为可以使用您的表结构执行您想要的操作,而不使用多个查询。