我的sqlite数据库中有三个表。
Categories: category_id, title
Words: word_id, title, belongs_to(foreign key, category_id)
WordImgs: wordImg_id, title, belongs_to(foreign key, words_id)
我正在尝试实现一个方法List getAllCategories。每个类别都包含一个单词列表,每个单词包含一个单词图像列表。
我用它来加入表格,但因为有多个与单个值相关的值,我得到重复。
SELECT categories.title, words.title, wordings.title
FROM categories
JOIN words on categories.id = words.belongs_to
JOIN wordImgs words.id = WordImgs.belongs_to
实施例。该声明可以返回
Category,Word,wordImg
_______________
Animal Dog Dog1
Animal Dog Dog2
Animal Cat Cat1
如何导航光标以便我只为列表中的每个不同类别和单词创建1个?
编辑:考虑使用三个嵌套游标。在网上看不到这么多,还有更好的选择吗?
答案 0 :(得分:0)
尝试使用此查询
SELECT
categories.title as categories_title,
words.title as words_title,
wordings.title as wordings_title
FROM categories
JOIN words ON categories.id=words.belongs_to
JOIN wordimgs ON words.id=WordImgs.belongs_to
在所有三个表中都有相同的列名,因此如果每个表都有别名,那就更好了。
如果需要从三个表中获取数据,请使用JOIN为您提供适当的数据
答案 1 :(得分:-2)
我建议您使用ORM库而不是自己编写查询。我在我的android项目中使用了SugarORM,看看这个链接http://satyan.github.io/sugar/index.html。