我正在尝试找出目标中丢失的记录。我需要记录丢失的员工。
假设我的输入源为
1,Jack,type1,add1,reg3,..,..,..,
2,Jack,type2,add1,reg3,..,,.,..,
3,Jack,type3,add2,reg4,..,.,..,.,
4,Rock,,,,,,,,
我的输出为
1,Jack,type1,add1,reg3,..,..,..,
4,Rock,,,,,,,,
我有其他员工的 1000 行,并且在目标中我没有任何重复记录。 我需要出现在源和目标中的员工出现不同的情况 意味着例如在上面的示例数据中,我在源中有 3 个 jack 条目和 1 个 Rock 条目
在目标中,我只有 Jack 的条目和 Rock 的条目
我正在运行下面的查询,所需的输出是 Jack,3
我怎样才能得到它。我在下面的查询中遇到错误
select A.EMP_NUMBER,A.CNT1
from
(select EMP_NUMBER,count(EMP_NUMBER) as CNT1
from EMPLOYEE_SOURCE
group by EMP_NUMBER ) as A
INNER JOIN
(select B.EMP_NUMBER,B.CNT2
from (select EMP_NUMBER,count(EMP_NUMBER) as CNT2
from EMPLOYEE_TARGET
group by EMP_NUMBER )as B )
ON (A.EMP_NUMBER = B.EMP_NUMBER)
where A.CNT1 != B.CNT2
请帮忙。
最佳答案
为什么不获取按姓名分组时两个表中行数不同的员工(我想 Emp_Number 是包含姓名的字段,如果问题中的查询返回的话)
SELECT s.Emp_Number, Count(s.Emp_Number)
FROM EMPLOYEE_SOURCE s
LEFT JOIN EMPLOYEE_TARGET t ON s.Emp_Number = t.Emp_Number
GROUP BY s.Emp_Number
HAVING Count(s.Emp_Number) != Count(t.Emp_Number)
关于mysql - 子查询连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809768/