我有两个表Post (id, ..., creationdate)
和Post_Has_Post(parent_id, child_id)
。SQL:通过(可选)关系订购结果
某些职位可以是父母的一部分< - >子女关系,并在表中具有相应的条目 - 表。
我想要做的是获取由其creationdate排序的帖子列表。但是,其他职位的任何子女都应该在其父母之后插入结果。 现在当然很容易通过creationdate订购,但是我对第二种分拣条件没有想法。有没有办法做到这一点?
Post Post_Has_Post
+------+-------+--------------+ +-----------+----------+
| id | ... | creationdate | | parent_id | child_id |
+------+-------+--------------+ +-----------+----------+
| 1 | ... | 2010-11-01 | | 1 | 3 |
| 2 | ... | 2010-11-02 | +-----------+----------+
| 3 | ... | 2010-11-03 |
+------+-------+--------------+
我需要整理这样的结果:
Post
+------+-------+--------------+
| id | ... | creationdate |
+------+-------+--------------+
| 1 | ... | 2010-11-01 |
| 3 | ... | 2010-11-03 |
| 2 | ... | 2010-11-02 |
+------+-------+--------------+
是否有通过排序来解决此问题的方法?
您是否允许多层次的父子关系? I.e .: 1是3的父亲,3是2的父母。这将改变的事情,以及... –
另外,你的设计允许一个职位有两个父母。那么你的输出将如何? –
@阿德里安你是对的,我会摆脱关系表 –