gpt4 book ai didi

sql - 比较两个表中的记录并突出显示差异

转载 作者:行者123 更新时间:2023-12-05 00:32:06 31 4
gpt4 key购买 nike

我有两个具有完全相同列的表

表A

标识标志
1 年
2 年
3 N
4 N

表 B

标识标志
1 年
2
3 N
4

我想在 Oracle 中编写一个选择查询,它将显示表 A 中的所有行,其中 FLAG列与表 B 不同,但具有匹配的 ID 列

结果应该如下。

标识标志
2 年
4 N

最佳答案

“表 A 中的所有行......作为表 B 具有匹配 ID 的列”:

FROM a JOIN b USING (id)

“其中 FLAG 列不相同”:
WHERE a.flag != b.flag 
OR (a.flag IS NULL AND b.flag IS NOT NULL)
OR (b.flag IS NULL AND a.flag IS NOT NULL)

所以,查询将是
SELECT id, a.flag
FROM a JOIN b USING (id)
WHERE a.flag != b.flag
OR (a.flag IS NULL AND b.flag IS NOT NULL)
OR (b.flag IS NULL AND a.flag IS NOT NULL)
WHERE -condition 很难看,但对于捕获表 b 具有 NULL 的情况是必要的-value,但不是,或者相反......

关于sql - 比较两个表中的记录并突出显示差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916969/

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