Anexar datos a tabla sin duplicar

Tengo una tabla llamada: Año_Circulo, a esta le anexo todos los Id de otra tabla Año y los Id de la tabla llamada Circulo con la siguiente consulta de anexar:

INSERT INTO Año_Circulo ( IdAño, IdCiculo )

SELECT Año.Id, Circulo.Id

FROM Año, Circulo

WHERE (((Año.Id)<>False) AND ((Circulo.Id)<>False));

Lo que quisiera hacer es, que si ya existen los mismos datos que nos los duplique en la tabla Año_Circulo.

Solicito apoyo, he intentado con el operador Exists, sin embargo no he tenido resultado, por tal motivo acudo a su colaboración.

2 respuestas

Respuesta
2

Puedes probar a poner los campos Id de la tabla Año-circulo como indexados sin duplicados.

Lo que quisiera es que la consulta anexar me compare las dos tqblas y solo anexe los dierentes

Vamos a ver si consigo explicarme, supongamos que tienes una tabla Tabla1 con IdUno e Idotro. Supongamos también que en la Tabla2 tienes los mismos campos. Con la tabla2 crea una consulta de datos anexados a la tabla1con el diseño de la imagen

Respuesta
1

Puedes probar ejecutar la siguiente sentencia sql, creo que abarca lo que necesitas.

INSERT INTO Año_Circulo SELECT Año.Id, Circulo.Id FROM Año, Circulo WHERE NOT EXIST(SELECT Año_Circulo.IdAño, Año_Circulo.IdCirculo FROM Año_Circulo) AND Año.Id<>FALSE AND Circulo.Id<>FALSE

Te agradezco tan pronto lo pruebe te aviso

Excelente William, quedó así al final:

INSERT INTO Año_Circulo ( IdAño, IdCirculo )
SELECT Año.Id, Circulo.Id
FROM Año, Circulo
WHERE (((Año.Id)<>False) AND ((Circulo.Id)<>False) AND ((Exists (SELECT Año_Circulo.IdAño, Año_Circulo.IdCirculo FROM Año_Circulo))=False));

De nada, un poco diferente pero funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas