Hola informacionsys:
Creo que sería conveniente que nos pusieras algunos datos de ejemplo, pues sin ellos es muy difícil determinar por qué te está repitiendo registros. Creo que las condiciones que estás poniendo para filtrar la información no son las correctas, pues para obtener el COMPLEMENTO, simplemente tendrías que negar todas las condiciones que pones en el primer select, es decir, si en tu primer select tienes esto:
Código SQL:
Ver originalSELECT nom_suc AS NOMBRE_SUCURSAL , cod_suc AS SUCURSAL, COUNT(cantidad) AS RANKING FROM temporalGerente
WHERE cat_dis = '002' AND tip_recep IN ('PS','WB','SN') AND cod_grupo='100'
GROUP BY cod_suc , nom_suc
El complemento sería más o menos así:
Código SQL:
Ver originalSELECT nom_suc AS NOMBRE_SUCURSAL , cod_suc AS SUCURSAL, COUNT(cantidad) AS RANKING FROM temporalGerente
WHERE cat_dis != '002' AND tip_recep NOT IN ('PS','WB','SN') AND
cod_grupo != '100'
GROUP BY cod_suc , nom_suc
Si esto no funciona prueba con EXCEPT para excluir los registros.
Saludos
Leo