我正在创建一个游戏,并且遇到需要根据单行中列出的 ID 值从表(Table1)中选择名称。
行示例
行 ID 单元 1 单元 2 单元 3 单元 4
并说第 1 行填充了单位数据
wfmatch 行 ID 单元 1 单元 2 单元 3 单元 4 ----- ----- ----- ----- ----- 1 1 2 3 4
然后在我的第二个表(Table2
)中,我有实际的名字
wfunits 单位 ID 名称 ------ ---------- 1 首件 2 第二项 3 第三项 4 第四项
在一个查询中或尽可能接近我希望能够获得从第一个表中列出的 ID 的名称,结果如下:
这是使用底部代码实现的最终结果。(+4 个名字) 行 ID 单元 1 单元 2 单元 3 单元 4 ----- --------- ---------- --------- ---------- 1 第一项 第二项 第三项 第四项
我已经尝试过 JOIN 语句,但到目前为止我一直缺乏关于如何正确使用它们的知识,我觉得这可能是获得结果的方法,我只是想不通。
编辑:尝试的代码
SELECT * FROM wfmatch AS t1 INNER JOIN wfunits AS t2 ON t1.crunit1 = t2.id WHERE t1.mid = 1
结果:否定,只提供了一个名字。
工作最终结果:
SELECT
m.mid, u1.name AS Unit1, u2.name AS Unit2, u3.name AS Unit3, u4.name AS Unit4,
u5.name AS Unit5, u6.name AS Unit6, u7.name AS Unit7, u8.name AS Unit8
FROM wfmatch AS m
INNER JOIN wfunits AS u1 ON m.crunit1=u1.id
INNER JOIN wfunits AS u2 ON m.crunit2=u2.id
INNER JOIN wfunits AS u3 ON m.crunit3=u3.id
INNER JOIN wfunits AS u4 ON m.crunit4 =u4.id
INNER JOIN wfunits AS u5 ON m.counit1=u5.id
INNER JOIN wfunits AS u6 ON m.counit2=u6.id
INNER JOIN wfunits AS u7 ON m.counit3=u7.id
INNER JOIN wfunits AS u8 ON m.counit4 =u8.id
WHERE mid=1