一个树形结构表SELECT 编号, 名称, 父编号,(SELECT 名称  FROM Tree  WHERE (编号 = 父编号)) AS 上级部门 FROM Tree这句怎么执行后  上级部门  值为空呢?该如何写呢?  谢谢

解决方案 »

  1.   

    SELECT 编号, 名称, 父编号,(SELECT 名称  FROM Tree  WHERE (编号 = a.父编号)) AS 上级部门 FROM Tree a
      

  2.   

    子查询需要注意字段所属的表的别名可以这样写:SELECT a.编号, a.名称, a,父编号,b.名称 AS 上级部门 
    FROM Tree a
    left join Tree b
    on a.父编号=b.编号
      

  3.   

    更正:SELECT a.编号, a.名称, a.父编号,b.名称 AS 上级部门 
    FROM Tree a
    left join Tree b
    on a.父编号=b.编号
      

  4.   

    SELECT 编号, 名称, 父编号,(SELECT 名称  FROM Tree A WHERE (编号 = B.父编号)) AS 上级部门 FROM Tree B