Unquery facil...pero no puedo

08/07/2009 - 03:01 por Rosa Mendoza | Informe spam
Saludos a todos

Tengo dos Tablas que son de estructura indeticas (A y B) pero con datos
distintos.
En cada tabla hay un campo ID, entre otros.

En la tabla A los datos de ID nunca se duplican (Primary Key), pero en
B muchos ya estan duplicados (no hay indices ni PK en B)

Quiero copiar todos los registros que estan en B hacia la tabla A, pero
si un registro (ID) ya existe en la tabla A, que sea pasado por alto..

Como se hace...?

Uso MS SQL 2005.

Rosa Mendoza
edberlith@gmail.com

Preguntas similare

Leer las respuestas

#1 Ricardo Junquera
08/07/2009 - 08:51 | Informe spam
Hola

Una opcion es que hagas una consulta de la tabla B para quitar los repetidos
y los que ya esten en A, algo asi, aunque esto depende si tienes repetido
todo el registro o solo el ID

INSER INTO A

SELECT DISTINCT * FROM B WHERE ID NOT IN (SELECT ID FROM A)






Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Rosa Mendoza" wrote:

Saludos a todos

Tengo dos Tablas que son de estructura indeticas (A y B) pero con datos
distintos.
En cada tabla hay un campo ID, entre otros.

En la tabla A los datos de ID nunca se duplican (Primary Key), pero en
B muchos ya estan duplicados (no hay indices ni PK en B)

Quiero copiar todos los registros que estan en B hacia la tabla A, pero
si un registro (ID) ya existe en la tabla A, que sea pasado por alto..

Como se hace...?

Uso MS SQL 2005.

Rosa Mendoza


Respuesta Responder a este mensaje
#2 Carlos Sacristan
08/07/2009 - 09:07 | Informe spam
¿Qué es lo que entiendes por registros iguales? ¿Todos los valores iguales o
sólo el ID?

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil. si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba
"Rosa Mendoza" wrote in message
news:%23jJ0We2$
Saludos a todos

Tengo dos Tablas que son de estructura indeticas (A y B) pero con datos
distintos.
En cada tabla hay un campo ID, entre otros.

En la tabla A los datos de ID nunca se duplican (Primary Key), pero en B
muchos ya estan duplicados (no hay indices ni PK en B)

Quiero copiar todos los registros que estan en B hacia la tabla A, pero si
un registro (ID) ya existe en la tabla A, que sea pasado por alto..

Como se hace...?

Uso MS SQL 2005.

Rosa Mendoza

Respuesta Responder a este mensaje
#3 Rosa Mendoza
08/07/2009 - 19:07 | Informe spam
Soilo el ID esta repetido...

Rosa Mendoza

Respuesta Responder a este mensaje
#4 Carlos Sacristan
09/07/2009 - 09:17 | Informe spam
La solución aportada por Ricardo sería válida. Otra opción podría ser

INSERT a
SELECT b.*
FROM B LEFT JOIN A ON b.id=a.id
WHERE a.id IS NULL

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Rosa Mendoza" wrote in message
news:
Soilo el ID esta repetido...

Rosa Mendoza

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida