SQLite C ++比较同一数据库中的两个表以匹配记录

时间:2014-01-05 21:39:05

标签: c++ sql database sqlite

我希望能够使用C ++接口比较同一SQLite数据库中的两个表以匹配记录。这是我的两张桌子

表名:temptrigrams

ID          TEMPTRIGRAM       
----------  ----------  
1           The cat ran        
2           Compare two tables       
3           Alex went home
4           Mark sat down      
5           this database blows
6           data with a
7           table disco ninja 
++78

表名:spamtrigrams

ID          TRIGRAM       
----------  ----------  
1           Sam's nice ham        
2           Tuesday was cold       
3           Alex stood up
4           Mark passed out      
5           this database is
6           date with a
7           disco stew pot
++10000 

第一个表有两列,有85个记录,第二个表有两列,有10007条记录。

我想取第一个表并比较TEMPTRIGRAM列中的记录,并将其与第二个表中的TRIGRAM columun进行比较,并返回表中的匹配数。因此,如果(ID:1'Cat Ran'出现在'spamtrigrams'中,我希望计算并以最后的总数作为整数返回。

有人可以解释一下执行此操作的查询语法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个join查询aggregation。我的猜测是你想要每trigram的匹配数:

select t1.temptrigram, count(t2.trigram)
from table1 t1 left outer join
     table2 t2
     on t1.temptrigram = t2.trigram
group by t1.temptrigram;

如果您只想要匹配数量:

select count(t2.trigram)
from table1 t1 join
     table2 t2
     on t1.temptrigram = t2.trigram;