我的android应用程序中有一个sqlite数据库。表格中有3个字段:
id | 东西 |的代码
信息存储如下:
01 |汽车|车轮;发动机;挡风玻璃;椅;
02 |独轮车|工具;车轮;推;
因此,标签字段中的所有内容都将用分号分隔。
正如您所看到的,有许多不同的标签,但现在我想获得所有不同的标签,但只需要一次,然后从每个标签中创建一个链接列表(传递到另一个将要拾取的类他们点击了什么标签。)
所需的输出是:
注意:请注意wheels
未打印两次,仅打印一次。因此,值不得重复
有可能这样做吗?我怎么能这样做?
答案 0 :(得分:2)
考虑重新设计架构,以便标签有自己的表,并且事物和标签表之间存在多对多的关系。
例如
CREATE TABLE tags(id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE thingtags(thingid INTEGER REFERENCES things(id), tagid INTEGER REFERENCES tags(id), PRIMARY KEY(thingid,tagid));
然后获取至少使用过一次的标签
SELECT name FROM tags WHERE id IN (SELECT tagid FROM thingtags);