sql server表连接

时间:2017-05-18 18:25:33

标签: sql sql-server

我有以下表结构

EMPLOYEE (emp_id, emp_name)

ROLES (role_id, role_name)

EMPLOYEE_ROLES (emp_id, role_id)这是EMPLOYEEROLE关系的关联表

DOOR_GROUPS (group_id, group_name)

DOOR_ACCESS_TO_ROLES (group_seq, role_seq)这是ROLESDOOR_GROUPS

的关联表
DOORS (door_id, group_id, door_name)

现在,我想通过DOORS ID或名称获取所有employee的所有employes。我不确定如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

我认为这样可行:

 SELECT e.employeeId
    ,   D.door_id
    ,   D.door_name
    FROM Employees e
        JOIN employee_Roles ER ON e.emp_id = ER.emp_id
        JOIN Roles r ON ER.role_id = r.role_id
        JOIN door_access_To_Roles DAR ON DAR.Role_seq = r.role_Id -- Assumes this is the propper relation.
        JOIN Doors D ON D.group_id = DAR.group_seq  -- assumes again.