在SQLite中合并两个表时会产生不需要的重复表

时间:2016-12-22 17:18:50

标签: sqlite join duplicates

问题:我尝试在SQLite中创建一个查询,该查询将显示特定“ID”的所有列(统计信息)。在table1中,将其与table2中的2个单独结果连接起来。

使用JOIN或LEFT JOIN时,我得到以下结果:     (TABLE1 stats)+(TABLE2 skill1)+(TABLE1 stats)+(TABLE2 skill2)

表1重复两次,因为TABLE2中有两种技能。如果有5种技能,我会像上面那样将TABLE1重复5次。

我想要的是:     (TABLE1 stats)+(TABLE2 SKILL1Bonus)+(TABLE2 SKILL2Bonus)

表1表示具有键' id'的字符的类别。每个角色都有不同数量的技能特征。每个技能特征定义为(table2.skillID)。角色可以拥有的技能特征数量最多为15个。我试图将一个查询组合在一起,该查询将显示角色的基本属性(table1。*)以及来自其技能特征的所有奖励(table2.bonus)

实施例

-- Table 1 --
id = 8
strength = 12
agility = 11

...更多统计资料

-- Table 2 --
id = 8
skillID = 3
bonus = 20% chance to dodge

id = 8
skillID = 4
bonus = 5% chance to crit

我最接近的是什么让我得到了上述结果:

SELECT * FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE table1.id = 8;

对于我应该去的方向的任何帮助将不胜感激。我不确定子查询是否是更好的路线。谢谢!

1 个答案:

答案 0 :(得分:0)

cmis:document