【发布时间】:2017-03-06 03:51:45
【问题描述】:
我目前正在开发一款小型 RPG 游戏,但遇到了一个小问题。
单位表
UnitID | Name
------ | ------
1 | Bob
装备表1
UnitID | EquipTypeID
------ | -----------
1 | 5
1 | 8
装备表2
UnitID | EquipTypeID
------ | -----------
1 | 10
1 | 12
如果我现在想对单位进行概述,请列出插槽中所有可能的可装备类型,例如这样
UnitID | Name | EquipSlot1 | EquipSlot2
------ | ---- | ---------- | ----------
1 | Bob | 5, 8 | 10, 12
我知道我可以将 group_concat 之类的东西用于...
SELECT ut.UnitID, ut.Name,
group_concat(DISTINCT et1.equipTypeID) as EquipSlot1,
group_concat(DISTINCT et2.equipTypeID) as EquipSlot2
FROM unitTable as ut
LEFT JOIN equipTable1 as et1
ON ut.UnitID = et1.UnitID
LEFT JOIN equipTable2 as et2
ON ut.UnitID = et2.UnitID
但是,我实际上在想的是,如果我可以简单地让它像...
装备表(将两个表组合在一起,并用附加列表示插槽)
UnitID | EquipTypeID | EquipSlot
------ | ----------- | ---------
1 | 5 | 1
1 | 8 | 1
1 | 10 | 2
1 | 12 | 2
但是,如果我以这种方式构建,我将如何获得相同的结果呢?
【问题讨论】:
标签: mysql group-concat