Tengo 2 tablas (srcTable1 & destTable) que tienen esquemas idénticos. Estoy tratando de copiar todas las filas de srcTable a destTable e ignorar los duplicados. Pensé que podría simplemente agregar una cláusula WHERE con una subconsulta que me daría solo las filas que no son duplicados. Sin embargo, parece que no funciona. No obtengo ninguna fila insertada o seleccionada.Copie las filas de una tabla a otra, ignorando los duplicados
INSERT INTO destTable
SELECT * FROM srcTable
WHERE NOT EXISTS(SELECT * FROM destTable)
que darse cuenta de que podía hacer algo como esto:
INSERT INTO destTable
SELECT * FROM srcTable
WHERE MyKey IN (SELECT MyKey FROM destTable)
Sin embargo, mis mesas tienen varias claves y no puedo pensar en cómo se puede hacer esto con varias claves.
Alguna idea de lo que estoy haciendo mal o ¿tiene alguna idea mejor?
¿Puede ser un poco más específico en lo que duplica usted está preocupado. ¿Le preocupa la inserción de filas desde el origen que ya están en dest, las filas que están duplicadas en el origen o ambas? – JohnFx
¿Estás usando mysql o mssql? –