一个数据查询的问题
我使用access2003,库中有四张表. 
 第一张表:   部门表包含字段:部门代码,部门名称 
 第二张表:   人员表包含字段:部门代码,人员工号,姓名,出生,级别. 
 第三张表:   授权表包含字段:人员工号,授权代码,授权时间 
 第四张表:   权限表包含字段:授权代码,授权名称   
 我想通过关联查询,等到一张表显示每一个部门所拥有的授权情况 
 我该如何建立查询?盼实例,谢谢!
------解决方案--------------------TRANSFORM iif(Count(权限.授权名称)> 0, "有 ", "无 ") 
 SELECT 部门.部门名称 
 FROM ((部门 INNER JOIN 人员 ON 部门.部门代码=人员.部门代码) LEFT JOIN 授权 ON 人员.人员工号=授权.人员工号) LEFT JOIN 权限 ON 授权.授权代码=权限.授权代码 
 GROUP BY 部门.部门名称 
 PIVOT 权限.授权名称; 
------解决方案--------------------楼主要求的结果就是生成一张交叉表。   
 如果格式固定,就用   
 select  
        a.部门名称, 
        iif(sum(iif(d.授权名称= "授权1 ",1,0))> 0, "有 ", "无 ") as 授权1, 
        iif(sum(iif(d.授权名称= "授权2 ",1,0))> 0, "有 ", "无 ") as 授权2, 
        iif(sum(iif(d.授权名称= "授权3 ",1,0))> 0, "有 ", "无 ") as 授权3 
 from ((部门 as a  
        inner join 人员 as b on b.部门代码=a.部门代码)  
        left join 授权 as c on b.人员工号=c.人员工号)  
        left join 权限 as d on c.授权代码=d.授权代码 
 group by a.部门名称     
 如果格式不固定,或者权限数不定,就用动态交叉表   
 transform iif(count(权限.授权名称)> 0, "有 ", "无 ") 
 select 部门.部门名称 
 from ((部门  
       inner join 人员 on 部门.部门代码=人员.部门代码)  
       left join 授权 on 人员.人员工号=授权.人员工号)  
       left join 权限 on 授权.授权代码=权限.授权代码 
 group by 部门.部门名称 
 pivot 权限.授权名称;