gpt4 book ai didi

mysql - 如何根据另一个表中指定的关系从一个表中获取值?

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

我有一个名为 user_info 的表,它具有唯一 id 和一般信息,例如 title名字姓氏号码等..

我有另一个表useralias,它有两列; 用户ID别名

目前,我从 user_info select * where timestamp > 'a timestamp'

如何根据 userid 将别名表中每个 useralias 记录的每个 user_info 记录的副本附加到结果中,考虑时间戳

除了我想将 userid 替换为这些额外记录的别名 id,但返回其余详细信息,就好像存在该 user_info 的精确副本一样记录,除非使用不同的 id。

最佳答案

如果您只想要别名而不是原始用户 ID,那么简单的连接即可满足您的需求:

select ua.aliasid, <all columns from user that you want>
from user u join
useralias ua
on u.userid = ua.userid

如果您同时需要用户 ID 和别名,那么您需要扩充要加入的表:

select ua.aliasid, <all columns from user that you want>
from user u join
(select userid, aliasid
from ((select userid, aliasid
from useralias ua
)
union all
(select userid, userid as aliasid
from user
)
) t
) ua
on u.userid = ua.userid

此查询创建用户 ID 和别名 ID 对的列表,并添加所有现有用户 ID。当您加入时,您将获得原始记录。您还可以使用通过联接连接的两个单独的查询来执行此操作。

关于mysql - 如何根据另一个表中指定的关系从一个表中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10861449/

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