【发布时间】:2017-12-18 20:42:01
【问题描述】:
我有一个带有hostname 字段和以下值的mysql table1:
HostName
-----
sa77.com
ca77cded.com
sa65yacd.com
ca65zededs.com
sa88y.com
sa99ujk8.com
我有另一个 table2 有 name 字段(携带主机名值)。
Name
-----
sa77
ca77cded.com
sa65yacd
ca65zededs.com
我想从 table2 中选择 table1 中不存在的记录
select *
from table2
where name NOT IN (select hostname from table1);
name 或 hostname 中的服务器名称在 2 个表中可能是完全限定的,也可能不是完全限定的。
例如,sa77 的值可以是 sa77.abc.com 或 sa77.cde 或 sa77。服务器可以有多个域值
sa77.abc.com匹配sa77和sa77.abc我基本上需要比较值sa77
【问题讨论】:
-
有什么问题?
-
您只是想知道如何使用 JOIN 来完成这项工作吗?
-
问题是table1中
hostname的值可以是sa77.com或sa77我想检查这两个值 -
FQDN for severs是什么意思?? -
在给定的示例中,table1 看起来总是有 .com,而 table2 可能有也可能没有。请澄清。
标签: mysql sql join left-join inner-join