我被困在這個邏輯問題中,我不知道如何繼續。訂購SELECT - 邏輯問題(SQL)
我有兩列:ID和FOLDERID。由於文件夾也可以是子文件夾,因此我希望通過先選擇沒有folderid(根文件夾)的文件夾,然後選擇其子文件夾,然後再訂購我的結果。所以這種方式我不會有任何問題,如「文件夾X不存在」。
在這個例子中,我不能通過FOLDERID ASC和/或ID ASC的簡單排序來得到我所需要的。
正確的結果是3之一:
- 首先,我得到的ID 2 「泰斯特」 文件夾中,因爲它已經folderid 0 =根之一。
- 現在我想 「Controladoria」 文件夾,因爲folderid是2,所以它需要的文件夾ID 2被首先創建(泰斯特)
- 「PCP」 的文件夾,即需要與ID 1(Controladoria)夾
- 「Pasta1」文件夾中,需要與ID 3(PCP)
- 上和文件夾...
我已經試過多個訂單通過多種方式和加入/留在同一個表中加入,但無法弄清楚我該如何做到這一點。
任何想法?
如果你沒有明確指定'ORDER BY',那麼排序是***未定義*** - 那裏***沒有隱式***排序(例如通過創建日期或類似的東西)一個SQL表 –
你使用了什麼數據庫? –
如果我正確理解你,你想要像樹中一樣排序文件夾(深度優先搜索)?如果是這樣,這涉及到遞歸,這沒有什麼SQL是很好的。 – contradictioned