Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problema con INSERT INTO

Estas en el tema de Problema con INSERT INTO en el foro de SQL Server en Foros del Web. Hola a todos, y gracias de antemano Estoy tratando de añadir registros de una tabla a otra de tal manera que sólo inserte los que ...
  #1 (permalink)  
Antiguo 21/09/2009, 07:53
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema con INSERT INTO

Hola a todos, y gracias de antemano

Estoy tratando de añadir registros de una tabla a otra de tal manera que sólo inserte los que no existan. Por ejemplo:

Tengo las tablas:
- LISTADOS (IDListado, Listado)
- USUARIOS (IDUsuario, Usuario)
- LISTADOS_X_USUARIO (ID, IDListado, IDUsuario)

La tabla LISTADOS_X_USUARIO tiene un indice único uniendo campos IDListado y IDUsuario.
De vez en cuando se añaden registros a la tabla LISTADOS, entonces yo ejecuto la consulta:
INSERT INTO LISTADOS_X_USUARIO (IDListado, IDUsuario)
SELECT LISTADOS.IDListado, USUARIOS.IDUsuario
FROM LISTADOS, USUARIOS

para que me añada todos los listados a cada usuario, y como tengo el indice unico, no me añadirá los registros que ya estén. Pero en cuanto encuentra un registro exisente no continua y se para y me da error de indice duplicado.

¿Cómo hago para que continue y sólo me añada los nuevos?

Gracias
  #2 (permalink)  
Antiguo 21/09/2009, 08:33
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Problema con INSERT INTO

Prueba asi:
Código SQL:
Ver original
  1. INSERT INTO LISTADOS_X_USUARIO (IDListado, IDUsuario)
  2. SELECT L.IDListado, U.IDUsuario
  3. FROM LISTADOS L, USUARIOS U
  4. WHERE NOT EXISTS(
  5.     SELECT * FROM LISTADOS_X_USUARIO LU
  6.     WHERE LU.IDListado = L.IDListado AND LU.IDUsuario = U.IDUsuario
  7. )
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 21/09/2009, 11:40
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Problema con INSERT INTO

¿Como se unen las tablas LISTADOS y USUARIOS?

No es necesario ABRIR una nueva posta, eso nos genera confusion y andamos como locos contestando donde no debe ser (te conteste en la ultima que pusiste)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:57.