我目前正在开发一个自己的项目,它使用SQL DB来存储RPG游戏的角色信息。我正在尝试编写一个select语句来检索与用户正在使用的设备相关的信息,目前我已经:
SELECT
CE.CharacterID, CE.EquipmentSlotID, CE.ItemID, I.ItemTypeID, I.Name, I.Image, IT.Name, IT.Description, concat(IA.AttributeID, ' ', IA.value )
FROM
CharacterEquipment CE INNER JOIN Item I
ON CE.ItemID = I.ItemID
INNER JOIN ItemType IT
ON I.ItemTypeID=IT.ItemTypeID
INNER JOIN ItemAttribute IA
ON I.ItemID=IA.ItemID
WHERE CE.CharacterID = 1
ORDER BY CE.ItemID ASC;
这会返回:
我的问题是每个项目(ItemID)可以有多个属性(AttributeID),我希望所有这些属性出现在一行上,但我不确定如何组合结果
编辑: 对不起,伙计们,应该说,我一直在尝试使用群组连接功能,但SQL不是我的强项,所以我很费力地写它并弄清楚它是如何工作的,任何人都可以解释它的深度更深入吗?感谢
答案 0 :(得分:0)
2.但是如果您希望继续使用相同的结构,请尝试使用使用COALESCE功能进行连接 供您参考:Concatenate many rows to one