gpt4 book ai didi

mysql - 加入不同的表并用mysql在一行上显示匹配记录

转载 作者:行者123 更新时间:2023-11-29 05:55:30 25 4
gpt4 key购买 nike

我目前正在处理两个需要某种联接的表。第一个表称为 profile 表,另一个称为 matches

配置文件表

+------------+------+--------+
| ID | Name | Bal |
+------------+------+--------+
|1 |Daniel| 2000 |
+------------+------+--------+
|2 |Frank | 2000 |
+------------+------+--------+
|3 |Sarah | 2001 |
+------------+------+--------+

匹配表

+------------+------+--------+
| ID | User_ID | Match_ID|
+------------+------+--------+
|1 | 1 | 2 |
+------------+------+--------+
|2 |1 | 3 |
+------------+------+--------+
|3 |3 | 1 |
+------------+------+--------+

上面是示例表,现在我该如何编写一个查询,将 User_ID 和 Match_ID 字段的两个名称都显示在一行中

查询后的预期结果

+------------+------+--------+
| ID | Name | Match Name|
+------------+------+--------+
|1 | Daniel | Frank |
+------------+------+--------+
|2 |Daniel | Sarah |
+------------+------+--------+
|3 |Sarah | Daniel |
+------------+------+--------+

最佳答案

您只需使用两个连接:

select m.*, pu.name, pm.name as match_name
from matching m left join
profiles pu
on m.user_id = pu.id left join
profiles pm
on m.match_id = pm.id;

请注意,这使用了 left join。这可确保 matching 中的所有行都在结果集中,即使其中一列没有值。

关于mysql - 加入不同的表并用mysql在一行上显示匹配记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752769/

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