【发布时间】:2020-06-29 08:45:28
【问题描述】:
表 A 有 20 条记录,表 B 显示 19 条记录。如何找到表B中缺少的一条记录。如何比较/减去这两个表的记录;找到那一条记录。在 Apache Superset 中运行查询。
【问题讨论】:
表 A 有 20 条记录,表 B 显示 19 条记录。如何找到表B中缺少的一条记录。如何比较/减去这两个表的记录;找到那一条记录。在 Apache Superset 中运行查询。
【问题讨论】:
确切的答案取决于哪些列定义了两条记录是否相同。假设您想使用一些主键列进行比较,您可以尝试:
SELECT a.*
FROM TableA a
WHERE NOT EXISTS (SELECT 1 FROM TableB b WHERE b.pk = a.pk);
如果您想使用多个列来比较两个表中的记录,那么您只需在 exists 子句中添加逻辑,例如三列:
WHERE NOT EXISTS (SELECT 1 FROM TableB b WHERE b.col1 = a.col1 AND
b.col2 = a.col2 AND
b.col3 = a.col3)
【讨论】: