【发布时间】:2021-08-20 14:18:22
【问题描述】:
在发布此之前,我搜索了答案,但找不到我的问题的确切解决方案。
首先,我只是假设我需要 INNER JOIN 来解决它。 FULL OUTER JOIN 也可以解决问题。
我在一个数据库中有 3 个不同的表。
表 1
| userId | roleID |
|---|---|
| 1 | 1 |
| 2 | 2 |
表 2
| userId | userName |
|---|---|
| 1 | A |
| 2 | B |
表 3
| roleId | roleName |
|---|---|
| 1 | X |
| 2 | Y |
我的目标是编写一个查询,它将表 2 中的 userName 与输出中表 3 的 roleName 匹配。它应该是这样的:
输出
| UserName | RoleName |
|---|---|
| A | X |
| B | Y |
我想不通。任何帮助将不胜感激。
非常感谢!
编辑: 到目前为止,我正在尝试修改以下查询来完成这项工作:
SELECT * FROM
table1.roleId
INNER JOIN
table2.roleId
ON table1.roleId = table3.roleId
INNER JOIN
table2.userId
ON table2.userId = table3.roleId
【问题讨论】:
-
提示:
JOIN和JOIN再次。你试过什么? -
检查这个网站:w3schools.com/sql/sql_ref_join.asp你应该会找到有用的提示
-
这有什么问题?你可以在几乎任何列上使用 JOIN,所以如果你想加入相同的名字,就这样做