sql server表联接

sql server表联接,sql,sql-server,Sql,Sql Server,我有以下表格结构 EMPLOYEE (emp_id, emp_name) ROLES (role_id, role_name) EMPLOYEE\u ROLES(emp\u id,role\u id)这是EMPLOYEE和role关系的关联表 DOOR_GROUPS (group_id, group_name) DOOR\u ACCESS\u TO\u ROLES(组,角色)这是角色和DOOR\u组的关联表 DOORS (door_id, group_id, door_name) 现在我

我有以下表格结构

EMPLOYEE (emp_id, emp_name)

ROLES (role_id, role_name)
EMPLOYEE\u ROLES(emp\u id,role\u id)
这是
EMPLOYEE
role
关系的关联表

DOOR_GROUPS (group_id, group_name)
DOOR\u ACCESS\u TO\u ROLES(组,角色)
这是
角色
DOOR\u组的关联表

DOORS (door_id, group_id, door_name)

现在我想通过
员工
id或姓名获取任何特定
员工的所有
。我不确定如何才能做到这一点。

我认为这会奏效:

 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.

你试过什么吗?谢谢你,杰!这似乎是正确的,我能够得到我想要的结果!