Como puedo realizar este insert ????

11/08/2005 - 01:42 por jpablos | Informe spam
Saludos ..

Quiero hacer un insert de la siguiente manera:

insert into gtcp_saldos(codigo_empresa, codigo_proveedor, saldo)
select codigo_empresa, codigo_proveedor, 0 from gtge_personas
where codigo_empresa = 1

pero lo que quiero hacer es que en la tabla saldos solo se inserten los
codigos que no existen en esa tabla, ya que al hacerlo de esa manera, se me
insertan todos los codigos de la tabla gtge_personas y algunos de esos
codigos ya existen en la tabla gtcp_saldos, y lo que yo necesito es que solo
se inserten los que existen en gtge_personas y no existen en gtcp_saldos.
Como lo puedo hacer ??????

Gracias .
 

Leer las respuestas

#1 Carlos Sacristán
11/08/2005 - 09:31 | Informe spam
Cuando dices "ya existen", ¿a qué te refieres exactamente?. ¿A que el
código de empresa ya existe, a que el código de proveedor ya existe, a los
dos? Lo que intento decirte con esta pregunta es que lo que necesitas
identificar son los valores que no quieres duplicar (la PK).

Por ejemplo, suponiendo que la clave de gtcp_saldos sea [codigo_empresa]
y [codigo_proveedor], la consulta para sacar todos los datos de
gtge_personas cuyo código de empresa y de proveedor no existen en la primera
tabla sería algo parecido a lo siguiente:

SELECT p.codigo_empresa, p.codigo_proveedor, 0
FROM gtge_personas p LEFT JOIN gtcp_saldos s ON
p.codigo_empresa=s.codigo_empresa AND p.codigo_proveedor s.codigo_proveedor
WHERE p.codigo_empresa IS NULL AND p.codigo_proveedor IS NULL


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"jpablos" escribió en el mensaje
news:
Saludos ..

Quiero hacer un insert de la siguiente manera:

insert into gtcp_saldos(codigo_empresa, codigo_proveedor, saldo)
select codigo_empresa, codigo_proveedor, 0 from gtge_personas
where codigo_empresa = 1

pero lo que quiero hacer es que en la tabla saldos solo se inserten los
codigos que no existen en esa tabla, ya que al hacerlo de esa manera, se


me
insertan todos los codigos de la tabla gtge_personas y algunos de esos
codigos ya existen en la tabla gtcp_saldos, y lo que yo necesito es que


solo
se inserten los que existen en gtge_personas y no existen en gtcp_saldos.
Como lo puedo hacer ??????

Gracias .

Preguntas similares