现在根据需求有这样一个表关系,在一个组下group有多个工作区workdistrict,而一个工作区workdistrict下有多个管辖区域manageDistrict,而一个管辖区域下可能会有多个岗位类型stationType,一个岗位类型会对应多个岗位station,当然这些不是在一个表里,是由多表关联才能得到。
问题:现在要查询出某个组下的每个工作区,每个管辖区以及管辖区下的所有岗位类型和岗位,除此之外,还需计算出每个工作区的岗位类型数以及岗位数,请问能否用一个SQL实现该需求(以groupId作为条件)?如果可以,该sql该如何写,如果不能,有什么替代方案实现该需求?
还请高人指点!万分谢谢!

解决方案 »

  1.   

    其中:组ID,组名来至tbl_group,工作区ID,工作区名来自tbl_district,岗位ID以及岗位名来至tbl_post,岗位类型编码以及岗位类型名来至tbl_posttype。表tbl_group与表tbl_district通过组ID关联,tbl_district与tbl_post通过工作区ID关联,表tbl_post与表tbl_posttype通过岗位类型编码关联
      

  2.   


    上面怎么关联就是大致表结构。需要以下数据:
    组ID   组名   工作区ID  工作区名    管辖区域    岗位类型名   岗位名   岗位类型数    岗位数
    前两个字段来至tbl_group,(工作区ID  工作区名    管辖区域)这三个来至tbl_district,(岗位类型名)来至tbl_posttype,(岗位名)来至tbl_post
      

  3.   

    应该是这样的数据:组ID 组名 工作区ID 工作区名 管辖区域 岗位类型名 岗位名 岗位类型数 岗位数101  A     10101   aa     aasasa   一级岗   固定岗  101  A     10101   aa     aasasa   一级岗   流动岗   2       3101  A     10101   aa     aasasa   二级岗   巡查岗102  B     10201   bb     gjhjfjd  高峰岗   大夜巡   102  B     10201   bb     ffddffd  高峰岗   内勤       1       2按照上面得数据组101的岗位类型数就是2,岗位数则是3
    数据组102的岗位类型数就是21,岗位数则是2