gpt4 book ai didi

Mysql:我想比较两个查询的结果并返回结果

转载 作者:行者123 更新时间:2023-11-29 17:54:28 25 4
gpt4 key购买 nike

在 MS Access 中,我有以下查询,我想在 MysQl 中复制它

SELECT New_Date_Sev54.*
FROM New_Date_Sev54 LEFT JOIN Old_Date_Sev54 ON New_Date_Sev54.[Expr1] = Old_Date_Sev54.[Expr1]
WHERE (((Old_Date_Sev54.Expr1) Is Null));

新日期查询:

SELECT perimeter.*, perimeter.IP, perimeter.QID, perimeter.Severity, [IP] & [QID] AS Expr1
FROM perimeter
WHERE (((perimeter.QID)<>38628 And (perimeter.QID)<>38675) AND ((perimeter.Severity)=5) AND ((perimeter.Date)=22118)) OR (((perimeter.Severity)=4));

旧日期查询:

SELECT perimeter.*, perimeter.IP, perimeter.QID, perimeter.Severity, [IP] & [QID] AS Expr1
FROM perimeter
WHERE (((perimeter.QID)<>38628 And (perimeter.QID)<>38675) AND ((perimeter.Severity)=5) AND ((perimeter.Date)=21918)) OR (((perimeter.Severity)=4));

在 ACCESS 查询中,我基本上获取新日期的所有结果,并将它们与旧日期(前一周)的结果进行比较,并返回前一周不存在的任何内容。

该数据库用于快速识别周边存在的新漏洞。形状是这样的

Date | IP| VulnID | VulnName | Severity | Threat | Resolution

我在mysql中一直在尝试使用两个select语句的“NOT IN”比较。但是,它不起作用。

我想了解所有严重性为 4 或 5 并且漏洞 ID 不为 32628 的新漏洞

谢谢

最佳答案

将每个查询放入临时表中:

CREATE TEMPORARY TABLE newVulns AS ([new date query])

CREATE TEMPORARY TABLE oldVulns AS ([old date query])

其中 [新日期查询] 和 [旧日期查询] 是您的选择语句。

然后

SELECT * FROM newVulns n
LEFT JOIN oldVulns o
ON n.VulnID = o.VulnID
WHERE o.VulnID IS NULL
AND n.VulnID != 32628
AND n.Severity NOT IN (4, 5)

我相信应该可以做到。

找到临时表创建信息 in the manual以及连接的简洁视觉表示 can be found here 。我发现自己一直在看这些。

关于Mysql:我想比较两个查询的结果并返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48990758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com