Aqui está a estrutura da minha tabela:
create table table_a (emp_name varchar(100), dept_name varchar(100));
insert into table_a values ('amar', 'finance');
insert into table_a values ('akbar', 'human_resource');
insert into table_a values ('amar', 'finance');
insert into table_a values ('anthony', 'information_technology');
create table table_b (emp_name varchar(100), dept_name varchar(100));
insert into table_b values ('amar', 'finance');
insert into table_b values ('akbar', 'human_resource');
mysql> select * from table_a as a left join table_b as b on a.emp_name = b.emp_name and a.dept_name = b.dept_name where b.dept_name is null;
+----------+------------------------+----------+-----------+
| emp_name | dept_name | emp_name | dept_name |
+----------+------------------------+----------+-----------+
| anthony | information_technology | NULL | NULL |
+----------+------------------------+----------+-----------+
1 row in set (0.00 sec)
A junção esquerda mencionada acima funciona conforme o esperado.
No entanto, o que eu preciso é de um registro para "amar" também porque existem 2 entradas para amar na tabela A e apenas 1 entrada na tabela B. Então, o resultado deve ser assim...
+----------+------------------------+----------+-----------+
| emp_name | dept_name | emp_name | dept_name |
+----------+------------------------+----------+-----------+
| anthony | information_technology | NULL | NULL |
| amar | finance | NULL | NULL |
+----------+------------------------+----------+-----------+
2 row in set (0.00 sec)
Preciso disso em um ambiente onde a precisão da contagem é mais importante do que a integridade dos dados. O número do registro da tabela B (2) + os resultados da consulta (2) devem corresponder aos números do registro da tabela A (4)
Isso pode parecer extremamente complicado aqui é a consulta que você precisa
Carreguei seus dados de amostra e obtive isto:
Aqui está sem os valores dupcount
De uma chance !!!