sql - SQL | 如何比较具有相同结构的两个表
问题描述
我有两个结构相同的表,T_1 = [A, B, C] T_2 = [A, B, C]。它们在内部价值观上存在差异。如何使用查询获取这些值?
问候
解决方案
您可以使用group by
和聚合来获取一个表中而不是另一个表中的值:
select sum(in_1), sum(in_2), a, b, c
from ((select 1 as in_1, 0 as in_2, a, b, c
from t_1
) union all
(select 0, 1, a, b, c
from t_2
)
) tt
group by a, b, c
having sum(in_1) <> sum(in_2);
请注意,这是非常通用的。它处理NULL
列中的值。它还处理表中的重复项,确保计数相同。
推荐阅读
- audio - 哪种编程语言更适合构建音频处理应用程序
- php - 如何在没有 SMTP 身份验证的情况下使用 PHPMailer 发送电子邮件?
- sql - 将 hashbytes() 函数的输出插入表中
- node.js - 如何使用 node.js 特定命令克隆 git 存储库
- servicestack - 由于时间戳查询字符串,入站 url 缓存不起作用
- javascript - CSS 边距:0 自动打乱另一个 DIV 的对齐方式
- java - 在Java中传递接口时可以实例化接口吗?
- java - 下载字符串返回乱码
- scala - 加入流和静态数据帧什么都不做
- html - 使用 aria-hidden 从屏幕阅读器中隐藏伪元素?