podria resolverse de la siguiente manera
Código SQL:
Ver originalSELECT * INTO #rfc FROM
(SELECT PRD.NUMREC,RFCH,PRD.NOMBRE,PRD.IMPNET,PRD.CENRES,PRD.IDTIPNOM, PRD.FECHPAGO,PRD.BANCO,PRD.INSTR,PRD.NUMCTA,PRD.CODIGO,COUNT(RFCH) CANTIDAD FROM(
SELECT RFCH RFC, NOMBRE , COUNT (RFCH) CANTIDAD,IDDESNOM
FROM PRD1401 PRD
WHERE IDDESNOM = '11'
GROUP BY RFCH,NOMBRE,IDDESNOM
HAVING COUNT (RFCH) >= 2
) DUPLICADOS INNER JOIN PRD1401 PRD ON DUPLICADOS.RFC = PRD.RFCH
WHERE PRD.IDDESNOM LIKE '11'GROUP BY RFCH,PRD.CENRES,PRD.BANCO,PRD.BANCO,PRD.NOMBRE,PRD.NUMREC,PRD.IMPNET,PRD.CODIGO,PRD.IDTIPNOM,PRD.FECHPAGO,PRD.INSTR,PRD.NUMCTA) TODOS
INNER JOIN tipnomina NOM ON TODOS.IDTIPNOM = NOM.id_nomina
ORDER BY TODOS.RFCH
SELECT * INTO #duplicados FROM (SELECT PRD.NUMREC,RFCH ,PRD.NOMBRE,PRD.IMPNET,PRD.CENRES,PRD.IDTIPNOM, PRD.FECHPAGO,PRD.BANCO,PRD.INSTR,PRD.NUMCTA,PRD.CODIGO,COUNT(RFCH) CANTIDAD FROM(
SELECT NOMBRE , COUNT (NOMBRE) CANTIDAD
FROM PRD1320 PRD
WHERE IDDESNOM = '11'
GROUP BY NOMBRE
HAVING COUNT (NOMBRE) >= 2
) DUPLICADOS INNER JOIN PRD1401 PRD ON DUPLICADOS.NOMBRE = PRD.NOMBRE
WHERE PRD.IDDESNOM LIKE '11'GROUP BY RFCH,PRD.CENRES,PRD.BANCO,PRD.BANCO,PRD.NOMBRE,PRD.NUMREC,PRD.IMPNET,PRD.CODIGO,PRD.IDTIPNOM,PRD.FECHPAGO,PRD.INSTR,PRD.NUMCTA
) TODO
INNER JOIN tipnomina NOM ON TODO.IDTIPNOM = NOM.id_nomina
ORDER BY TODO.NOMBRE
SELECT * FROM #duplicados AS t1
LEFT JOIN #rfc AS t2 ON (t1.nombre=t2.nombre)
WHERE t2.nombre IS NOT NULL