gpt4 book ai didi

mysql - 帮助进行 MySQL 连接

转载 作者:行者123 更新时间:2023-11-30 21:22:54 25 4
gpt4 key购买 nike

我有一个技能表,其中有 14 条记录。它的结构如下: |编号 |名称 |

然后我有一个 User_Skills 表,我想将其加入技能表。这是结构: |用户 ID | Skill_id |

基本上,我希望能够执行始终产生 14 条记录并在用户未关联的任何字段中显示 NULL 的联接。

通过这个查询,我几乎得到了我想要的结果代码:

SELECT * FROM Skills LEFT JOIN User_Skills ON Skills.id = User_Skills.Skill_id

编辑:为了更清楚 - 这是此查询的结果集。我需要通过 User_id 选择技能,但即使 User_id 字段中的结果为 Null,仍会显示所有 14 个技能。

id  name    User_id     Skill_id
1 HGV1 1000 1
1 HGV1 1001 1
2 HGV2 1001 2
3 No.1 Mechanic 1000 3
3 No.1 Mechanic 1001 3
4 No.2 Mechanic 1001 4
5 Designer 1001 5
5 Designer 1000 5
6 Engineer 1000 6
7 Data Analysis 1001 7
7 Data Analysis 1000 7
8 Coaching/Inst. 1001 8
8 Coaching/Inst. 1000 8
9 Hospitality 1000 9
10 Promo Girl 1000 10
11 Public Relations NULL NULL
12 Photographer NULL NULL
13 Film Crew 1001 13
14 Physiotherapist NULL NULL

但它显示了我在 user_skills 表中的记录数量...即重复的技能名称,因为不止一个用户与该技能相关联。

这也是,差不多明白了:代码:

SELECT * FROM Skills LEFT JOIN User_Skills ON Skills.id = User_Skills.Skill_id WHERE User_id = 1001

但这只显示了用户相关的技能,并没有像我想要的那样显示任何 NULL 条目。

有谁知道我怎样才能实现这个查询?

最佳答案

SELECT * FROM 
Skills LEFT OUTER JOIN
(select distinct user_id, skill_id from User_Skills where user_id = 1001) xxx
ON Skills.id = xxx.Skill_id

这会产生您需要的东西吗?

关于mysql - 帮助进行 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874185/

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