使用公共表表达式的递归查询,递归获取Admin_Department中的数据,明显是要按照部门(Department)的上下级来取所有部门.
执行的过程应该是这样子的(pid是上级部门的id吧,parent id的意思):
先取出pid=1的数据,就是部门a下的所有第一级部门,也就是2,b,1 3,c,1 4,d,1
然后再递归取部门b,c,d下面的部门,依次是5,e,2 6,f,5 7,g,...
依次往下取出部门a下的所有部门.
全部取出来后是这样子:
id name pid
2x05bx051
3x05cx051
4x05dx051
5x05ex051
6x05fx051
7x05gx051
因为都是1,a,0下的所有部门,所以它们的pid都是为1的.
如果还不清楚的话就看看CTE(公共表表达式)的资料,比较有用的技巧,建议掌握.