MySQL数据库继承没有规范化在一个表,但我需要查询它


MySQL db inherited without normalization in one table, but I need to query off of it

table1有hero_id和6列item1…Item6与item_id的值。

这些项目在表2中都有不同的"成本",用item_id键和item_cost作为一个字段进行结构化。

我想要做的是在英雄关卡中获得库存的总价值(即将6个道具的价值相加)。但是,如果不对200项使用case语句,我不知道该如何做到这一点?

我想这可能会有帮助:

select t1.hero_id, sum(t2.cost)
from table1 t1 left join
     table2 t2
     on t2.item_id in (t1.item1, t1.item2, t1.item3, t1.item4, t1.item5, t1.item6)
group by t1.hero_id;