在我的程序中,我有两个具有相同数据的表。我通过光标浏览了我的第一张表。与第二个表相比,我发现了大量相同的数据。如果,例如在我的table_1中,我的数据中有10个,而我有12个数据表2,如何检测我的两个table_1中缺少的数据,这是光标遍历的?
THX。
答案 0 :(得分:3)
听起来非常像使用MINUS操作符会更好。
SELECT a, b, c
FROM table1
MINUS
SELECT a, b, c
FROM table2
这将显示table1中存在的所有结果,这些结果在table2中不存在。为了显示两种方式的差异,您可以执行以下操作:
SELECT z.*, 'In table1, not in table2' problem_description
FROM (
SELECT a, b, c
FROM table1
MINUS
SELECT a, b, c
FROM table2
) z
UNION ALL
SELECT z.*, 'In table2, not in table1' problem_description
FROM (
SELECT a, b, c
FROM table2
MINUS
SELECT a, b, c
FROM table1
) z