通过不同的关系从另一个表中获取多个值

ikk*_*n32 4 mysql sql database jdbc

我有两个表:USER 和 SUBJECTS

用户表

用户表

主题表

主题表

表 USER 中的 SUBJECT1、SUBJECT2、SUBJECT3 是表 SUBJECT 中列 ID 的外键。

我正在尝试编写一个 SQL 查询,该查询返回第一个表中的所有列以及外键引用的值,以表明一个用户(教师)可以一次教授三个科目。我希望在结果中获取第二个表中的值,如下所示:

| ID | NAME  | AGE | ADDRESS | SUBJECT1 | SUBJECT2 | SUBJECT3 |
+----+-------+-----+---------+----------+----------+----------+
| 1  | John  | 30  | London  | Math     | English  | Sports   |
| 2  | Marry | 40  | London  | English  | Sports   | Biology  |
| 3  | Tom   | 35  | Paris   | English  | Sports   | Russian  |
Run Code Online (Sandbox Code Playgroud)

Bla*_*ank 5

尝试以下;)

select
    u.ID, u.NAME, u.AGE, u.ADDRESS, s1.NAME as SUBJECT1, s2.NAME as SUBJECT2, s3.NAME as SUBJECT3 
from USER u
left join SUBJECT s1 on u.SUBJECT1 = s1.ID
left join SUBJECT s2 on u.SUBJECT2 = s2.ID
left join SUBJECT s3 on u.SUBJECT3 = s3.ID
Run Code Online (Sandbox Code Playgroud)