SQLite 3,FTS3 - 加入查询

时间:2013-08-24 05:45:52

标签: sqlite fts3

我已经浏览了网上提供的文献,以了解互联网上提供的SQLite的各种JOIN。但是无法弄清楚符合我要求的那个。

我需要根据各种类别执行过滤操作,最重要的是我需要从过滤内容执行搜索操作。

"TABLE 1: FOOTWARE_MASTER (SQLite TABLE)  

Id = Numeric Primary Key
Item_Type = One of the following (Shoe, sandals, floaters)
Brand = Nike, Puma, Reebok
Description = .. .. .. . .. .. (1000 words)"   

TABLE 2: FOOTWARE_DESCRIPTION (SQLite Virtual Table powered by FTS)  

Id = Numeric Primary Key
IdReferenced = Foreign key (FOOTWARE_MASTER Primary key)
Description  

用户选择品牌Nike和Item_type = SportShoes 用户获得1000个项目的结果集。现在,他希望通过“搜索”描述中的具体细节来进一步减少它们。

即。我需要构建查询,首先过滤数据集,然后在该数据集中搜索特定文本(另一种选择,我可以编写简单的JOIN查询,它可以给我适当的结果,但我的邮件关注的是性能)。请建议特定类型的JOIN查询,以获得良好的性能。

1 个答案:

答案 0 :(得分:0)

SELECT *
FROM Footware_Master
WHERE Brand = 'Nike'
  AND Item_Type = 'SportShoes'
  AND Id IN (SELECT IdReferenced
             FROM Footware_Description
             WHERE Description MATCH 'details')