我要为学校做一个项目。这是一款基于munchkin (棋盘游戏)的Javafx游戏。
我们有一个英雄,这个英雄会在一个房间里打败怪物,每个怪物都会保护一个宝藏(我把它看作是怪物的战利品,就像在mmorpg中一样)。现在我也不确定怪物和宝藏之间的联系。每个宝藏都有0或1个怪物。每个怪物至少有一个宝藏,也可以是多重的。老师说在我的情况下使用一个额外的桌子(Treasure_has_Monsters)。但我不确定引用是否正确.
目前我的数据库: 数据库设计
现在我遇到的问题如下。我需要从怪物拥有的所有宝藏中得到一份清单。我可以查询treasure_has_monster表,获取所有的id的宝藏,然后创建一个查询,以获得所有的宝藏与id。
问题:
发布于 2014-02-28 13:26:12
根据您的架构,您可以尝试:
select t.* from Treasures t
join Treasures_has_Monsters tm on tm.Treasure_id=t.id
where Monster_id=?哪里?是你想列出宝藏的怪物。
发布于 2014-02-28 13:24:42
您可以尝试做一个简单的查询,例如:
SELECT t.name
FROM treasure_has_monster thm
INNER JOIN trasures t ON (thm.trasure_id = t.id)
WHERE thm.monster_id = YOUR_MONSTER_ID发布于 2014-02-28 13:28:54
没有理由将两个表连接在一起。您可以使用一个简单的内部查询。
SELECT * FROM Treasures
WHERE id IN (SELECT treasure_id from Treasures_has_Monsters
WHERE monsterid = <MID>);将<MID>替换为您想要得到的怪物id
https://stackoverflow.com/questions/22096259
复制相似问题