MySQL 连接来自另一个的多个 ID Table

MySQL Join Multiple IDs From Another Table

我花了几个小时试图弄清楚如何为我的项目执行此操作,但我似乎也找不到解释它以研究正确事物的好方法,或者找不到答案我的问题,因此 post 在这里。


我有两个 table,如下所示,一个带有 ID 和名称,另一个带有与这些 ID 相关的字段。我需要能够将 ID 与名称相匹配。

Table 1:

ID | Name
---|----------
1  | Square
2  | Rectangle
3  | Circle

Table 2:

ID | Field1ID | Field1Data | Field2ID | Field2Data | Field3ID | Field3Data
---|----------|------------|----------|------------|----------|-----------
1  | 1        | Red        | 3        | Green      | 2        | Blue

我需要能够将 table 2 中的 FieldxID 与 table 1 中的名称相匹配,从而创建以下内容:

ID | Field1ID | Field1Data | Field2ID | Field2Data | Field3ID  | Field3Data
---|----------|------------|----------|------------|-----------|-----------
1  | Square   | Red        | Circle   | Green      | Rectangle | Blue

如有任何帮助,我们将不胜感激。

您需要多个连接,每个 fieldID 一个连接

select b.Name, a.Field1Data, c.name, a.Field2Data, d.name, a.FieldeData
from table2 a
inner join table1 b on b.id = a.Field1ID
inner join table1 c on c.id = a.Field2ID
inner join table1 d on d.id = a.Field3ID