Utilice WHERE NOT EXISTS en la misma tabla con clave primaria compuesta en Informix.
Tengo una tabla con una combinación de 5 campos en una base de datos Informix y necesito duplicar algunos valores y cambiar solo el campo rm_id. Esa parte ya está funcionando. El problema surge al intentar duplicarlo y ya existe una fila con estos 5 valores, lo que causa un error de violación de restricción única. Empecé a escribir una consulta para esto y hice esto:
SELECT *
FROM tabla t1
WHERE t1.rm_id = 249
AND NOT EXISTS (SELECT t2.prop, t2.rb_code, t2.bm_id, t2.bl, t2.rm_id
FROM tabla t2
WHERE t2.prop = t1.prop, t2.rb_code = t1.rb_code, t2.bm_id = t1.bm_id, t2.bl = t1.bl, t2.rm_id = t1.rm_id);
Recibí un error de sintaxis pero no puedo encontrar ningún problema con mi consulta; ¿Hay alguna manera de hacer algo así en Informix?
davy.ai
Es posible hacer algo así en Informix. El error de sintaxis que estás recibiendo probablemente se deba a una coma faltante entre las condiciones en la cláusula
WHERE
de la subconsulta. La siguiente consulta debería funcionar: