gpt4 book ai didi

SQL 服务器 : Listing Differences Between Tables

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:15 25 4
gpt4 key购买 nike

多年来有一些与此相关的类似话题,但我还没有找到或无法做我正在寻找的事情。

我目前有两个表,它们具有我通过脚本生成的相同架构。为了名称的缘故,一个是“results_prior”,另一个是“results_current”。这个新查询最好每月运行一次,并查找是否存在任何差异。示例:

表:results_prior

----------------------------------------
| ID | ENVIRONMENT | EDITION | CONTACT |
----------------------------------------
| 03 | Development | 2008 | Bob |
----------------------------------------
| 05 | Production | 2012 | Phil |
----------------------------------------
| 09 | Development | 2008 | Erik |
----------------------------------------
| 13 | Production | 2012 | Ashley |
----------------------------------------
| 22 | Production | 2012 | Erik |
----------------------------------------

表:结果_当前

----------------------------------------
| ID | ENVIRONMENT | EDITION | CONTACT |
----------------------------------------
| 03 | Development | 2008 | Bob |
----------------------------------------
| 05 | Production | 2012 | Phil |
----------------------------------------
| 22 | Production | 2012 | Erik |
----------------------------------------

两者比较时,结果应该是:

----------------------------------------
| ID | ENVIRONMENT | EDITION | CONTACT |
----------------------------------------
| 09 | Development | 2008 | Erik |
----------------------------------------
| 13 | Production | 2012 | Ashley |
----------------------------------------

因为 09 和 13 在 results_current 中。同样,这可能是棘手的部分,如果 results_current 的结果多于 results_prior,则执行相同的操作。所以,反之亦然。

抱歉,我没有可用的示例代码。在过去的几个小时里,我一直在使用 UNION、JOIN 和 EXCEPT,我觉得我的逻辑(同样,在 SQL Server 中)没有任何意义。如有任何帮助,我们将不胜感激。

最佳答案

这可以看作是A-B union B-A的结果集。我假设两个表中的所有列都相同。因此 select 中的 *

(select * from results_prior 
except
select * from results_current)
union all
(select * from results_current
except
select * from results_prior)

关于SQL 服务器 : Listing Differences Between Tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754599/

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