mysql - 如何在 MySQL 中查找具有与另一个表行数据相似的数据的所有行?

标签 mysql sql

我有一个这样的表:

ID  URLIdentifier

1   google.com

2   youtube.com

3   baidu.com

还有一个像这样的表

URLID 网址

1   www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=123

2   www.youtube.com/channel/UCl8dMTqDrJQ0c8y23UBu4kQ

3   www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=fadsfsafsa

4   www.baidu.com/s?wd=fdsafa&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&rsv_sug3=7&inputT=1009

5   www.youtube.com/watch?v=5qanlirrRWs&list=PLbpi6ZahtOH5r5PlY8nQjm41h3UL_x8gl

6   www.youtube.com/watch?v=5aeKdmw9W50

7   v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&word=fdsafa&ie=utf-8&ie=utf-8

我想选择 URL 包含 URLIdentifier 的所有行,结果如下:

ID  URLIdentifier   URLID   URL

1   google.com  1   www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=123'

1   google.com  3   www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=fadsfsafsa'

2   youtube.com 2   www.youtube.com/channel/UCl8dMTqDrJQ0c8y23UBu4kQ

2   youtube.com 5   www.youtube.com/watch?
v=5qanlirrRWs&list=PLbpi6ZahtOH5r5PlY8nQjm41h3UL_x8gl

2   youtube.com 6   www.youtube.com/watch?v=5aeKdmw9W50

3   baidu.com   4   www.baidu.com/s?wd=fdsafa&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&rsv_sug3=7&inputT=1009

3   baidu.com   7   v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&word=fdsafa&ie=utf-8&ie=utf-8

假设有数百个 URLIdentifier 和数百万个 URL,因此我需要一个选择所有行的脚本。

最佳答案

您需要使用join 将数据组合在一起。然后有几种不同的方法来获取匹配记录。这是使用 like 的一个:

select t1.ID, t1.URLIdentifier, t2.URLID, t2.URL
from table1 t1
    inner join table2 t2 on t2.URL like '%' + t1.URLIdentifier + '%'

关于mysql - 如何在 MySQL 中查找具有与另一个表行数据相似的数据的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304294/

相关文章:

mysql - SQL - 检索过去 7 天的最后一天记录

PHP 在新页面上显示 SQL 行的更多列,然后保存

Mysql:比较两个SELECT表达式

mysql - 外连接与搜索以及分组依据相结合的问题

php - 正确的 SQL 语法(PHP 和 MySQL 组合)

python - Aurora 目标的 AWS Glue 前操作和后操作未执行

mysql - 在 SQL 中获取关于日期的平均值

mysql - 将普通查询转换为子查询会得到不同的结果

sql - 从 session ID 查找用户名的函数

sql - 检查基于 'ancestry' 的 SQL 表中的继承属性