查找所有带有一列的行,这些行的结尾与MYSQL中另一个表的列匹配

时间:2018-08-10 17:27:36

标签: mysql

好的,我有一个表:广告域只有一列,我想在另一个表中找到所有行,称为历史,有3列:键,域,时间。

我想做类似于

SELECT * FROM history WHERE domain LIKE "%{ALL_DOMAIN_COLUMN_FROM_ad-domains_TABLE}"

这可能吗?

一些数据示例

广告域:

domain
------
ads.com
moreads.com
gottahaveads.com

历史记录:

key      domain
-----------------------------------
1        google.com
2        subads.ads.com
3        gmail.com
4        moreads.com
5        whoa.moreads.com
6        000.hi.whoa.moreads.com
7        ads.com.taco

结果应该是

key      domain
------------------------------------
2        subads.ads.com
4        moreads.com
5        whoa.moreads.com
6        000.hi.whoa.moreads.com

1 个答案:

答案 0 :(得分:1)

您要查找的查询类似:

SELECT * FROM history
INNER JOIN ad-domain ON history.domain LIKE CONCAT('%', ad-domain.domain, '%')

Here是有关该主题的更多信息。