Bueno, para eso existe la posibilidad de usar el resultado de un SELECT en un INSERT:
Código sql:
Ver originalINSERT INTO tabla1(a, b, c, d, e)
SELECT f, g, h, i, j
FROM tabla2
WHERE f = x;
Esto se usa cuando el conjunto de datos proviene de otra tabla.
En tu caso, el problema es que deberías determinar que el campo que no se repite es el de la PK. En ese caso se usa un
Este modelo no insertará los datos si y sólo si estás intentando ingresar una PK duplicada, pero no generará una salida por el error de clave duplicada que eventualmente se produciría.
Para poder hacer una inserción con una comparación por campo no clave, te conviene hacerlo mediante una tabla temporal donde recojas los registros válidos antes de insertarlos.