我有一张table
table1 a_id
作为 PK
, hostname
, create_dt
在这里 ipaddress
是 varchar
, create_dt
是 datetime
```
a_id hostname create_dt
9205 abc.com 2017-01-07 08:03:32
9206 cde 2017-01-06 08:03:32
9207 abc2.com 2015-01-07 08:03:32
---1000多行
我还有一个mysql表,它有以下列 `id` 作为 `PK` , `name` ,和 `created_dt` :和 `created_dt` 是 `datetime` ```
id name created_dt
1 abc 2017-01-07 10:03:32
2 cde.com 2017-01-07 10:03:32
3 abc2.com 2016-11-07 10:03:32
4 abc3.com 2016-11-07 10:03:32
5 abc4.com 2017-01-06 10:03:32
6 abc5.com 2015-01-06 10:03:32
我想比较表1和表2使用 hostname
以及 name
把所有的行从 table2
主机名存在于 table1
因此,从上面的示例中,我的查询应该返回
id name timestamp_val
1 abc 2017-01-07 10:03:32
2 cde.com 2017-01-07 10:03:32
3 abc2.com 2016-11-07 10:03:32
我写了下面的查询
SELECT *
FROM table2.name a
INNER JOIN table1.hostname b
where a.name LIKE CONCAT(b.hostname, '%');
1条答案
按热度按时间wmtdaxz31#
你可以用
SUBSTRING_INDEX
,我没有尝试此查询,但下面的查询将看起来像您想要的。试试这个:
更多信息