部门ID DEID         部门ID
父ID FID         父ID
部门名称 DEPARTMENT 部门名称
DEID     FID     DEPARTMENT
1         0        XXX
2         0        XXX
3         1        xxxx
4         2        xxxx
5         3        xxxxx
6         3        xxxxx
7         4        xxxxx
8         5        xxxxxx
9         8        xxxxxxxx
10        9        xxxxxxxx
11        7        xxxxx
...      ...       ...目前已知一个DEID 例如等于 10
需要列出所有上层的 FID和DEPARTMENT
请教如何实现

解决方案 »

  1.   

    SELECT A.DEID,A.FID,A.DEPARTMENT,ISNULL(B.DEPARTMENT,'') AS PARENTDEPARTMENT FROM TABLE A LEFT JOIN TABLE B ON A.FID=B.DEID
      

  2.   

    条件呢?我的条件是要知道一个DEID
      

  3.   

    SELECT A.DEID,A.FID,A.DEPARTMENT,ISNULL(B.DEPARTMENT,'') AS PARENTDEPARTMENT FROM TABLE A LEFT JOIN TABLE B ON A.FID=B.DEID WHERE A.DEIP=???
    ...
      

  4.   

    这样不是所有上层的都列出来
    我要的结果是如DEID=10
    结果为:9        8        xxxxxxxx 
           8        5        xxxxxx 
           3        1        xxxx 
           1        0        XXX
    要列出这些信息,所有上层的父