3

好的......我需要做这个简单的任务......我可以用java或python以一种简单的方式来做......但是有没有办法使用sql来做到这一点并将工作委托给数据库引擎而不是jvm还是python?

我有表 1 和表 2

例如

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

《爱是一种感觉》《哈利波特》

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

“abc”、“物理 1”、“旅行”

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

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

所以会是这样

它将“love is a feel”与“abc”、“physics 1”和“the trip”进行比较,如果找到匹配项,则增加计数...

它应该对所有的名字都这样做,最后我想知道我有多少巧合......

正如我所说,它可以通过查询使用 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

但这不是我需要的...

4

3 回答 3

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

了解SQL 连接

于 2012-08-29T06:36:39.623 回答
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 演示

于 2012-08-29T06:36:52.733 回答
1
SELECT COUNT(*) FROM table1 INNER JOIN table2 ON table1.title = table2.title
于 2012-08-29T06:45:43.370 回答