【问题标题】:Employees and departments with groups database schema advice具有组数据库架构建议的员工和部门
【发布时间】:2013-05-20 23:54:09
【问题描述】:

我得到的是

表格:

employee {id, name, phone, dep_link[fk]} 
department {id, name}
groups {id, name}
employees_groups {id, emp_id_link[fk] ,group_id_link[fk]}
departments_groups {id, dep_id_link[fk], group_id_link[fk]}

逻辑:

  1. 每个员工都可以在一个部门中,并且该部门可以有很多员工。 (一对多是我对{dep_link[fk]} 所做的选择)
  2. 每个员工可以在多个组中,一个组可以有多个员工。
  3. 每个部门可以有多个组,一个组可以有多个部门。

我对表格和关系所做的正确吗?我有两个部门(IT、档案),他们是小组的一部分(全部)。将关系添加到部门组表后,如何检索这些部门的员工?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    例如,我有两个部门(IT、档案),他们属于 组(全部)在我将关系添加到部门组后 表如何检索这些部门的员工?

    SELECT * FROM employee WHERE employee.dep_link 
    IN (SELECT dep_id_link FROM departments_group INNER JOIN groups 
        ON groups.id = group_id_link AND groups.name = 'All')
    

    【讨论】:

      【解决方案2】:

      我认为这更符合您的要求:

      select e.id
            ,e.name
            ,e.phone
      from employee e
          ,group g
          ,employee_groups eg
      where e.id = eg.emp_id_link
        and g.id = eg.group_id_link
        and g.name = "all"
      

      希望对您有所帮助。 :)

      【讨论】:

      • 那没有得到departments_group表的员工。
      猜你喜欢
      • 2018-10-20
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 2010-11-06
      • 2015-06-18
      • 1970-01-01
      相关资源
      最近更新 更多