我有2个具有相同列的表。一个表已更新,另一个表是备份。我需要比较2个表中存在的特定列的计数,并且需要查看哪些列数不相同。
到目前为止我有这个问题:
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.last_name)<>计数(b.last_name)
答案 0 :(得分:1)
我的猜测是你真的想要
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
它分别对每个表进行分组,然后进行连接并比较聚合列中的数据。