gpt4 book ai didi

sql - T-SQL 内连接

转载 作者:行者123 更新时间:2023-12-02 08:18:51 26 4
gpt4 key购买 nike

我有一个只包含一个属性的 Profile 表。

profile_id  |  profile_name
1 A
2 B
...

我有另一个表,它将第一个表的两个 Profiles 组合在一个地方

id    |    profile_id_1    |    profile_id_2
1 1 2
2 1 1
...

现在,我想做的是查询第二个表,但显示实际姓名。像这样的东西:

Profile     |    Menu Access Group
A B
A A

我尝试过的:

SELECT x.name as 'Profile', y.name as 'Menu Access Group'
FROM
(select * from profile_def
INNER JOIN profile_to_menu on profile_def_id = profile_id_1 ) as x,

(select * from profile_def
INNER JOIN profile_to_menu on profile_def_id = profile_id_2 ) as y

问题在于返回所有内容的 UNION

如何过滤我当前的尝试以仅返回第二个表的不同 id

或更简单:如何返回第二个表及其名称而不是ids

最佳答案

profile_to_menu 中选择,并在 profile_def 上加入两次以获取名称:

select p1.name as profile, p2.name as menu_access_group
from profile_to_menu m
join profile_def p1
on p1.profile_def_id = m.profile_id_1
join profile_def p2
on p2.profile_def_id = m.profile_id_2

关于sql - T-SQL 内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39392249/

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