Sql 比较Oracle中两个表之间的列计数
我有两个具有相同列的表。一个表已更新,另一个是备份。我需要比较两个表中存在的特定列的计数,并需要查看哪些列计数不相同 到目前为止,我有一个疑问:Sql 比较Oracle中两个表之间的列计数,sql,oracle,Sql,Oracle,我有两个具有相同列的表。一个表已更新,另一个是备份。我需要比较两个表中存在的特定列的计数,并需要查看哪些列计数不相同 到目前为止,我有一个疑问: select a.id, count(a.last_name), b.id, count(b.last_name) from updatedTable a join backupTable b on a.id = b.id group by a.contact_id, b.contact_id 上面的查询已运行,但我想知道: 这里count(a.姓)
select a.id, count(a.last_name), b.id, count(b.last_name)
from updatedTable a
join backupTable b on a.id = b.id
group by a.contact_id, b.contact_id
上面的查询已运行,但我想知道:
这里count(a.姓)count(b.姓)我猜你真的想要
SELECT *
FROM (SELECT a.id, count(a.last_name) num_last_names
FROM tableA a
GROUP BY a.id) a
INNER JOIN
(SELECT b.id, count(b.last_name) num_last_names
FROM tableB b
GROUP BY b.id) b
ON( a.id = b.id )
WHERE a.num_last_names != b.num_last_names
这将分别对每个表进行分组,然后进行联接并比较聚合列中的数据。您尝试过吗?(放在你的分组人后面-where count(a.last_name)!=count(b.last_name)我做了,但收到了一条错误消息。我在下面的“答案”中运行了查询,结果成功了。我可以通过在“分组人”之后添加“having count(a.matchkey_id)count(b.matchkey_id)”来运行我自己的查询。谢谢。这正是我要找的!