gpt4 book ai didi

mysql - 邻接模型 MySQL 语法

转载 作者:行者123 更新时间:2023-11-29 06:18:21 25 4
gpt4 key购买 nike

我使用邻接模型来表示子/父关系。

它被用来反射(reflect)公司的层次结构,其中每个员工都有一个经理。员工和经理都存储在同一个表中 - 因此 managerID 字段引用特定经理的用户 ID。

下面是我的表结构:用户 ID - 电子邮件 - 密码 - 名字 - 姓氏 - 办公室 ID - 部门 ID - 经理 ID - 角色 ID - 用户名

因此 managerID 是一个外键,但源自相同的架构。

我试图做的是显示一个表格,其中包含有关系统用户的信息 - 包括他们的经理是谁。

到目前为止,我已经通过以下 SQL 语句使用多个联接实现了这一点:

SELECT user.firstName, user.lastName, office.officeName, department.departmentTitle, role.roleName
FROM user, office, department, role
WHERE user.officeID = office.officeID
AND user.departmentID = department.departmentID
AND user.roleID = role.roleID

但是,我不确定如何显示经理的姓名。

如有任何帮助,我们将不胜感激。

最佳答案

您的查询只会拉取用户。要获取经理名称,您需要再次加入用户表,如下所示:

SELECT u.firstName, u.lastName, 
o.officeName, d.departmentTitle,
r.roleName,
m.firstName AS mFN, m.lastName AS mLN
FROM user u JOIN office o ON (u.officeID = o.officeID)
JOIN department d ON (u.departmentID = d.departmentID)
JOIN role r ON (u.roleID = r.roleID)
JOIN user m ON (u.manager_id=m.user_id);

关于mysql - 邻接模型 MySQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5233677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com