假设我有以下两种关系:
alert
:
id http_code_result domain_id ip_src
1 404 1 1.1.1.1
2 404 1 1.1.1.1
3 200 1 1.1.1.1
domain
:
id name
1 google
我只想获取具有404响应的域。因此,对于IP地址1.1.1.1,它将返回0行,因为ID为1的域也有一个HTTP 200响应。
我对您的问题的理解是:“您要检索具有HTTP响应404的域。如果同一域具有除404以外的其他响应(说200),则不应显示该域名。 ”
基于这种理解,我们可以编写如下查询:
SELECT d.id, d.name
FROM domain d, alert a
WHERE a.domain_id=d.id AND a.domain_id NOT IN(SELECT domain_id
FROM alert
WHERE http_code_result!=404);
请参考此SQLFiddle链接以获得更好的理解
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句