SQL 递归查询请教
最近做的项目,遇到如下问题:
我有一个表:Dept 简单举例如下
ID, Name, ParentId
1 a 0
2 b 1
3 c 1
4 d 1
5 b01 2
6 b0101 5
7 c01 3
8 c0101 7
9 d01 4
10 d0101 9
还有一个Msg 表,其中有个字段是Varchar类型 存储的是有权限看的部门ID
如下
ID Name Depts
1 msg 2,4
2 msg 3
我有一个Staffer 表
其中有个Dept字段是Staffer对应的部门
现在我要做个查询,
就是查询某个Staffer对应的Msg表
意思就是Msg里面存储的部门,只要Staffer的Dept字段是其或是其
子部门(子子部门...递归)就有权限,
如staffer 对应 dept 为6,
那么Msg 中字段只要包含1,2,5,6(即dept为6的父部门--祖部门的 都可以查看到
这样的查询语句我该怎么写?
请教高手
[解决办法]
如staffer.deptid 为6的时候
===对应:参数6,dbo.f_tb(6)