比较两个表中值的计数

Lia*_*ill 2 sql sql-server-2008

我有两个表,我想突出显示两个表之间某个值出现的次数是否存在差异。因此,本质上,表 1 可以包含 4 行,其中一列中包含单词“Ball”,表 2 也包含 4 行,其中一列中包含单词 ball。这将被忽略。但如果单词 ball 在表 1 中有 4 个实例,在表 2 中有 6 个实例,我希望输出类似于:

"Column Name"  "Table 1" "Table 2"  
  Ball             4          6
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

Gia*_*los 5

;WITH CTE1 AS
(
   SELECT ColName,
          COUNT(ColName) AS NameCount
   FROM   Table1
   GROUP BY ColName
),CTE2 AS
(
   SELECT ColName,
          COUNT(ColName) AS NameCount
   FROM   Table2
   GROUP BY ColName
)
SELECT * 
FROM   CTE1 C1
       FULL OUTER JOIN CTE2 C2
       ON C1.ColName = C2.ColName
WHERE  C1.NameCount <> C2.NameCount
Run Code Online (Sandbox Code Playgroud)