[英]How to sort the result with multiple conditions in MySQL
我正在嘗試建立一個數據庫來存儲調查,問題和答案,以便我可以動態生成調查,捕獲答案並從中報告。
問題如何按以下順序對結果進行排序? 按* surveys_questions.sort *排序,但是,如果父代ID> 0,則需要將所有子代置於其下,並按* surveys_controls.sort *對子代進行排序。
我有5張桌子:
現在我遇到的問題是我無法正確排序結果或答案。
您可以找到我的代碼並在此鏈接上運行查詢 http://sqlfiddle.com/#!2/2ee97/1
注意:我在此鏈接http://sqlfiddle.com/#!2/d9f6e3/4上創建了問題的縮小版本
如果有人可以幫助他解決這個問題,那么我將使用相同的解決方案來解決實際問題。
為您的ORDER BY行嘗試以下操作:
ORDER BY CASE WHEN q.parent_id = 0 THEN q.question_id WHEN q.parent_id !=0 THEN q.parent_id = 0 END ASC, q.sort, t.sort
這是提琴手
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.