求一SQL语句排序问题
先看数据表:
---------------------------------------
0 首頁 0
1 0,1 通知 1
2 0,2 公告 0
3 0,3 通報 0
4 0,1,4 內部通知 1
5 0,1,5 外部通知 0
6 0,2,6 內部公告 0
7 0,2,7 外部公告 1
---------------------------------------
0,1表示通知是首页下的,那么0,1,4就是首页》通知》内部通知 这样的
现在我想通过一个查询语句实现查询的结果是:
---------------------------------------
0 首页 0
2 0,2 公告 0
6 0,2,6 内部公告 0
7 0,2,7 外部公告 1
3 0,3 通报 0
1 0,1 通知 1
4 0,1,4 内部通知 0
5 0,1,5 外部通知 0
------------------------------------------
也就是达到一个同级排序的目的,先排大类,再排小类,没有包含关系的大类和小类之间没有排序关系
请问这个sql怎么写,急! 今天要我做出来
------解决方案--------------------就是一棵树,这样的数据集可以用递归得到。
或者,直接用Order by path 试试,应该可以的。
------解决方案--------------------id ord resume
---------------------------------------
0 首頁 0
1 0,1 通知 1
2 0,2 公告 0
3 0,3 通報 0
4 0,1,4 內部通知 1
5 0,1,5 外部通知 0
6 0,2,6 內部公告 0
7 0,2,7 外部公告 1
---------------------------------------
SELECT * FROM [yourTable] ORDER BY [ord] ASC
------解决方案--------------------如果我没理解错楼主的意思一个简单的ORDER BY就OK了,不要把问题想的复杂化.
原始数据:
id ord resume
------------------------------
0 0 首页
1 0,1 通知
2 0,2 公告
3 0,3 通报
4 0,1,4 内部通知
5 0,1,5 外部通知
6 0,2,6 内部公告
7 0,2,7 外部公告
查询结果:
----------------------------
id ord resume
0 0 首页
1 0,1 通知
4 0,1,4 内部通知
5 0,1,5 外部通知
2 0,2 公告
6 0,2,6 内部公告
7 0,2,7 外部公告
3 0,3 通报