ゲームを作成していますが、1行にリストされているID値に基づいて、テーブル(Table1)から名前を選択する必要があります。
行の例
RowID Unit1 Unit2 Unit3 Unit4
そして、行1にはユニットのデータが次のように入力されているとします。
wfmatch RowID Unit1 Unit2 Unit3 Unit4 ----- ----- ----- ----- ----- 1 1 2 3 4
次に、2番目のテーブル(Table2
)に実際の名前があります
wfunits UnitID名 ------ ---------- 1最初のアイテム 22番目のアイテム 33番目のアイテム 44番目のアイテム
1つのクエリで、または可能な限り近くで、最初のテーブルからリストされたIDの名前を取得して、次のような結果を得ることができるようにしたいと思います。
これは、下部のコードで達成された最終結果です。(+4つの名前) RowID Unit1 Unit2 Unit3 Unit4 ----- --------- ---------- --------- ---------- 1 Firstitem Seconditem Thirditem Fouritem
私はJOINステートメントを試してみましたが、これまでのところ、それらを適切に使用する方法についての知識が不足しており、これがおそらく結果を得る方法であると感じています。
編集:試行されたコード
SELECT * FROM wfmatch AS t1 INNER JOIN wfunits AS t2 ON t1.crunit1 = t2.id WHERE t1.mid = 1
結果:否定的、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