SQL Server 2014嵌套博客评论排序

时间:2016-02-19 02:08:21

标签: sorting nested sql-server-2014

我正在尝试建立一个允许人们添加评论的小博客。

对于评论我准备了这样一个表:

ID  PostID  ParentID    Date    Title   Text    User    ....
1      1        0       
2      2        0
3      1        0
4      1        1
5      1        1
6      1        4
7      1        1
8      1        5
9      1        8

如果ParentID不为0,则意味着此评论不会引用到帖子,而是引用具有该ID的评论(嵌套)

ie:假设选择Post 1将提取除ID = 2之外的所有注释。

  • 我们在根
  • 上有帖子1和2
  • 帖子4,5,7嵌套在评论1
  • post 6嵌套在4(三重嵌套)
  • post 8嵌套在5(三重嵌套)
  • post 9嵌套在8(四重嵌套)

因此我希望查询按此顺序返回记录:

1
  4
    6
  5
    8
      9
  7
2

但我正在努力解决这个问题以获得上述结果。

实际上,对于单一嵌套,我找到了一个解决方案,但是对于更深的嵌套......真的不知道..

我还认为使用的表模式不够......

另一方面,我认为这样的问题可能是一个常见的问题,但谷歌没有给我任何有价值的结果..可能使用了错误的关键词..

您能否建议一条解决此问题的路径,或在哪里搜索?

谢谢!

1 个答案:

答案 0 :(得分:1)

解决方案是Eric Weilinau在Post的回答。

基本上它使用经常性的CTE
我修改了一点使用ID值作为Order并添加了另一个过滤器 这是查询:

var MYAPP = MYAPP || {};
MYAPP.audioRecording = {
  navigator : window.navigator,
  Context : window.AudioContext || window.webkitAudioContext,
  getUserMedia: (
    this.navigator.getUserMedia ||
    this.navigator.webkitGetUserMedia ||
    this.navigator.mozGetUserMedia ||
    this.navigator.msGetUserMedia
  ),
  startRecorder : function () {
     //start recording code
  },
  stopRecorder : function() {
     //recorder stop    
  }

};

如果有人能发现它有用。