gpt4 book ai didi

mysql - 根据表中的另一个字段选择某个字段

转载 作者:行者123 更新时间:2023-11-29 14:26:33 25 4
gpt4 key购买 nike

我使用了三个表,这已证明这个问题超出了我的范围。

第一个是层次结构表,如下所示

USER_ID, USER_LEVEL, Store_Manager_ID, Team_Manager_ID
------------------------------------------------------
1, 0, -, -
2, 1, 1, -
3, 2, 1, 2
4, 2, 1, 2
5, 2, 1, 2

这仅显示用户的层次结构。因此用户 1 的级别为 0,这意味着他是商店经理,因此他的上方没有商店经理,因此他的商店经理 id 没有任何内容,而团队经理显然也没有任何内容。第二个用户是团队经理,因此级别 = 1,商店经理为 1(第一个人)第三、四、五分别为1、2岁以下 worker 。

第二个是一个登录表,如下所示

USER_ID, EMAIL
--------------------------
1, john.smith@gmail.com
2, ron.jones@gmail.com
3, tom.graham@gmail.com
4, bill.small@gmail.com

电子邮件是登录名,没有密码。

第三个是别名表,如下所示

USER_ID, ALIAS_ID
--------------------
2, 5

别名表显示用户 5 如何成为用户 2 的别名。因此他是同一个人并且具有相同的登录名。然而,他可以同时处于层级结构中的两个位置,即同时担任团队经理和 worker 。

我的问题是。如果我知道用户 2 将以他的别名登录,即登录前的工作人员。当用户2登录时,如何根据级别选择用户帐户的领导者id。

例如,如果我在别名帐户下以 ron.jones@gmail.com(用户 2)身份登录。用户 2 的别名 id 是 5,并且基于层次结构,用户 5 是级别 2,即 worker ,因此我应该返回他的团队经理的 ID,而不是他的商店经理。所以我会返回 2,即他自己(在这种情况下有点奇怪,但除了重点)

最佳答案

这将给出您正在寻找的答案(如果我正确理解问题):

SELECT team_manager_id
FROM hierarchy h
INNER JOIN aliases a ON h.user_id = a.alias_id
INNER JOIN login l ON a.user_id = l.user_id
WHERE email = 'ron.jones@gmail.com';

关于mysql - 根据表中的另一个字段选择某个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863286/

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