有没有办法使用sql计算2个表之间的匹配?

时间:2012-08-29 06:33:09

标签: java mysql sql

好的......我需要做这个简单的任务......我可以用java或python以简单的方式做到这一点...... 但有没有办法使用SQL并将作业分离到数据库引擎而不是jvm或python?

我有表1和表2

例如

表1有2个存储的标题......

“爱是一种感觉”,“哈利波特”

表2有3个存储的标题......

“abc”,“物理1”,“旅程”

有些是不同的,但有些可能是巧合......

我需要将表2的每个条目与table1中的选择标题返回的所有行进行比较...

所以就像这样

它将“爱是一种感觉”与“abc”和“物理1”以及“旅程”进行比较,如果找到匹配则会增加计数......

它应该用所有的名字做到这一点,最后我想知道我有多少巧合......

正如我所说,可以通过查询来完成java或任何语言:

results = rows returned by using "select title from table1";
while results.next () {
 results2 = rows returned by using "select title from table2";

 while results2.next(){
    if current results == current results2
        count++;    
  }
}

print count

但那不是我需要的......

3 个答案:

答案 0 :(得分:4)

尝试加入两个表格,

SELECT  a.title, COUNT(b.title) totalMatch
FROM    table1 a
            LEFT JOIN table2 b
                On a.title = b.title
GROUP BY a.Title

使用LEFT JOIN如果没有匹配则显示0

SQLFiddle Demo

答案 1 :(得分:3)

SELECT COUNT(*) FROM table1 JOIN table2 ON table1.title = table2.title

了解SQL joins

答案 2 :(得分:1)

SELECT COUNT(*) FROM table1 INNER JOIN table2 ON table1.title = table2.title
相关问题