查询结果显示多次

时间:2014-04-29 23:32:44

标签: sql database sqlite

我为我的班级制作了一个MTG卡数据库

我有5张桌子:
card拥有cardIdnametextpowertoughnessraritymanacost,{ {1}},setId。 cardId是主键

CMC拥有colorcolorId。 color是字符串,colorId是主键
color拥有typetypeId。 Type是字符串,typeId是主键
type是一个关联表,其中包含card_colorscardId的条目对 colorId是一个关联表,其中包含card_typescardId的条目对。

如何按名称搜索卡片,并将各自的类型和颜色显示在一行中?目前,我的查询显示每张卡的多个条目,每种颜色一个。

这是我当前的查询:

typeId

如果你想查看它,你可以在这里找到我的.sqlite文件:
http://www.filehosting.org/file/details/446996/mtg_database.sqlite

2 个答案:

答案 0 :(得分:2)

我能用您提供的有限信息做到最好:

select * 
from card_types 
join card
    on card_types.cardId = card.cardId
where cardId = 1 /* specify value */

您必须展示您的桌面结构以及更多信息,以便进一步帮助您。我无法读懂你的想法。

答案 1 :(得分:1)

您需要添加一个链接card_type和类型表的条件。没有条件,你将卡和card_type的连接乘以类型。