我有兩個表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的父母。這將改變的事情,以及... –
另外,你的設計允許一個職位有兩個父母。那麼你的輸出將如何? –
@阿德里安你是對的,我會擺脫關係表 –