我正在尝试建立一个存储调查,问题和答案的数据库 所以我可以动态生成调查,捕获答案并报告。
问题 如何按以下顺序对结果进行排序? 订购* surveys_questions.sort *但是,如果父ID是> 0然后我需要带下所有孩子,并通过* surveys_controls.sort *对孩子进行排序。
我有5张桌子:
现在我遇到的问题是我无法正确排序结果或答案。
您可以在此链接上找到我的代码并运行查询 http://sqlfiddle.com/#!2/2ee97/1
注意:我在此链接上创建了一个较小版本的问题
http://sqlfiddle.com/#!2/d9f6e3/4
如果有人可以帮助他解决这个问题,那么我将使用相同的解决方案来解决实际问题。
答案 0 :(得分:0)
尝试使用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
以下是 Fiddler