select name,loginname,员工名 from tblleave left outer join tblemployee on tblleave.employeeid=tblemployee.employeeid left outer join 部门表 on tblemployee.deptid=部门表.departmentid 

解决方案 »

  1.   

    select 员工表_A.员工名 as 请假人, 请假表_A.审批者ID,员工表_B.员工名 as 审批人,部门表.部门名
    from 
    员工表 as 员工表_A,员工表 as 员工表_B,请假表,部门表
    where
    员工表_A.部门ID = 部门表.部门ID
    and
    审批表.审批人ID=员工表_B.员工ID
    and
    请假表.雇员id=员工表_A.员工ID没按照你的字段写
    重点就是对员工表其别名(实际上就有2个员工表了)
      

  2.   

    select loginname,name,approverid from tblleave,tblemployee,department where tblleave.employeeid=tblemployee.employeeid and tblemployee.deptid=department.departmentid
      

  3.   

    那就改用jion写以上代码
    2个内连接不变
    "审批表.审批人ID=员工表_B.员工ID " 那个,改成左联接即可
      

  4.   

    大意如下SELECT     员工_2.姓名 AS 请假人, 员工_1.姓名 AS 审批人, 部门.部门名称
    FROM         部门 INNER JOIN
                          员工 AS 员工_2 ON 部门.部门ID = 员工_2.部门ID INNER JOIN
                          请假 ON 员工_2.员工ID = 请假.请假人 RIGHT OUTER JOIN
                          员工 AS 员工_1 ON 请假.批准人 = 员工_1.员工ID