我表中的原始数据由一个 ID 列和一个可以为 1 或 0 的列“IsFolder”组成,如下所示:
ID IsFolder
1 1
2 0
3 0
4 1
5 0
6 0
7 0
8 0
9 0
10 0
11 1
12 0
13 0
14 0
15 1
16 0
17 0
代码解释这一点的方式是,如果一行的“IsFolder”为 1,那么它就是一个文件夹,并且它下面的所有任务(直到您点击下一个文件夹)都是该文件夹的子级。
我想要的是一个 Select 语句,它将只返回所有非文件夹任务的父文件夹的 ID。所以像:
ID ParentFolder
2 1
3 1
5 4
6 4
7 4
8 4
9 4
10 4
12 11
13 11
14 11
16 15
17 15
我正在使用 MS SQL Server Management Studio 2005。我觉得这对于那些熟悉使用游标(我不是)的人来说是一个简单的答案。我想不出任何其他方法来做到这一点,但也许其他人可以。无论如何,提前感谢任何答案,如果我做错了什么,我很抱歉,这是我的第一篇文章。