我正在使用 MS SQL 2005。我将树结构定义为:
1
|\
2 3
/|\
4 5 6
我制作了一个 SQL 函数 Subs(id),它获取 id 并返回子树表。因此,Subs(3) 将返回 4 行 3、4、5、6,而 Subs(2) 将返回 1 行 2。
我有一个返回上述 ID 的选择语句(将此树与其他表连接)
我想要在返回上述 ID 的 select 语句之后
(这将导致一个包含例如 2 行的表:)
2
3
能够运行 Subs 功能
Subs(2)
union
Subs(3).
(结果应该是 id 为 2,3,4,5,6 的行)
问题是我不知道如何传递参数,也不知道如何动态使用联合。
是否有可能在这个级别解决这个问题,或者我应该把它带到上层(C#)?