构建SQL" toxi"标记系统,如何选择具有特定标记的项目?

时间:2015-02-25 03:14:48

标签: android sql sqlite

首先,我是sql的新手。

现在,我正在为我的Android应用程序构建一个带有sqlite的标记系统,该应用程序使用3个表(项目,标签,tagmap)基于找到的这个“toxi”解决方案here,但我不确定机制如何工作,我如何从这个具有特定标签的itemsTable中选择所有项目。

itemsTable

的itemid

2

3

4

tagsTable

tagid标签

2“红宝石”

3“java”

7“c”

tagmap

itemid tagid

2 3

3 7

2 2

4 7

我正在尝试以下方面:

SELECT* FROM itemsTable INNER JOIN tagmap ON tagmap.itemid= itemsTable.itemid AND tagmap.tagid=tagsTable.tagid WHERE tagsTable.tagid= desiredid

但这似乎是错误的。

BTW:所有itemid和tagsid都是自动递增的主键

欢迎任何答案或替代创建标记系统(其中一个项目可以包含多个标记)。

1 个答案:

答案 0 :(得分:1)

您的查询错误。你没有包含" tagsTable"在你的加入。试试这个:

SELECT* FROM itemsTable INNER JOIN tagmap ON tagmap.itemid= itemsTab 
INNER JOIN tagsTable ON tagmap.tagid=tagsTable.tagid WHERE tagsTable.tagid= desiredID
相关问题