Incorporar clientes nuevos

17/09/2003 - 15:43 por cg | Informe spam
Tengo una tabla de Facturas (Nro, Fecha, ClienteID, etc.)
y una de Clientes (ClienteID, Nombre, Telefono, etc.).
Cada tanto tiempo me mandan Facturas Nuevas que tengo que
incorporar a mi tabla de facturas. (me mandan de a 200000
registros)
Cual es la forma más eficiente de verificar si hay algún
Cliente nuevo en la factura y en tal caso Insertarlo en
la tabla de Facturas (debo insertar sólo el código, el
resto no importa).
Cómo se programaría?

Preguntas similare

Leer las respuestas

#1 Anibal Marcano
17/09/2003 - 10:13 | Informe spam
Puedes hacer esto:

INSERT INTO Clientes
Select ClienteID, Null, Null, FROM Facturas
Where not Exists(Select * from Clientes Where Clientes.ClienteID Facturas.ClienteID)

Saludos,

Aníbal Marcano
Visualven sistemas C.A.

"cg" escribió en el mensaje
news:0c5501c37d21$adf34560$
Tengo una tabla de Facturas (Nro, Fecha, ClienteID, etc.)
y una de Clientes (ClienteID, Nombre, Telefono, etc.).
Cada tanto tiempo me mandan Facturas Nuevas que tengo que
incorporar a mi tabla de facturas. (me mandan de a 200000
registros)
Cual es la forma más eficiente de verificar si hay algún
Cliente nuevo en la factura y en tal caso Insertarlo en
la tabla de Facturas (debo insertar sólo el código, el
resto no importa).
Cómo se programaría?
Respuesta Responder a este mensaje
#2 Javier Loria
17/09/2003 - 19:06 | Informe spam
Hola Claudio:
Asumiendo que solo te interesan los nuevos clientes, tambien podrias
probar con la siguiente setencia:

INSERT Clientes(ClientePK, Columna1, Columna2, ...)
SELECT TempFac.ClientePK, TempFac.Columna1, TempFac.Columna2
FROM TempFac LEFT JOIN Clientes ON
TempFac.ClientePK=Clientes.ClientePK
WHERE Clientes.ClientePK IS NULL


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Anibal Marcano escribio:
Puedes hacer esto:

INSERT INTO Clientes
Select ClienteID, Null, Null, FROM Facturas
Where not Exists(Select * from Clientes Where Clientes.ClienteID > Facturas.ClienteID)

Saludos,

Aníbal Marcano
Visualven sistemas C.A.

"cg" escribió en el mensaje
news:0c5501c37d21$adf34560$
Tengo una tabla de Facturas (Nro, Fecha, ClienteID, etc.)
y una de Clientes (ClienteID, Nombre, Telefono, etc.).
Cada tanto tiempo me mandan Facturas Nuevas que tengo que
incorporar a mi tabla de facturas. (me mandan de a 200000
registros)
Cual es la forma más eficiente de verificar si hay algún
Cliente nuevo en la factura y en tal caso Insertarlo en
la tabla de Facturas (debo insertar sólo el código, el
resto no importa).
Cómo se programaría?
Respuesta Responder a este mensaje
#3 cg
18/09/2003 - 09:43 | Informe spam
Y cual es más eficiente???


Hola Claudio:
Asumiendo que solo te interesan los nuevos clientes,


tambien podrias
probar con la siguiente setencia:

INSERT Clientes(ClientePK, Columna1, Columna2, ...)
SELECT TempFac.ClientePK, TempFac.Columna1,


TempFac.Columna2
FROM TempFac LEFT JOIN Clientes ON
TempFac.ClientePK=Clientes.ClientePK
WHERE Clientes.ClientePK IS NULL


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Anibal Marcano escribio:
Puedes hacer esto:

INSERT INTO Clientes
Select ClienteID, Null, Null, FROM Facturas
Where not Exists(Select * from Clientes Where




Clientes.ClienteID >> Facturas.ClienteID)

Saludos,

Aníbal Marcano
Visualven sistemas C.A.

"cg" escribió en el




mensaje
news:0c5501c37d21$adf34560$
Tengo una tabla de Facturas (Nro, Fecha, ClienteID,




etc.)
y una de Clientes (ClienteID, Nombre, Telefono, etc.).
Cada tanto tiempo me mandan Facturas Nuevas que tengo




que
incorporar a mi tabla de facturas. (me mandan de a




200000
registros)
Cual es la forma más eficiente de verificar si hay




algún
Cliente nuevo en la factura y en tal caso Insertarlo en
la tabla de Facturas (debo insertar sólo el código, el
resto no importa).
Cómo se programaría?




.

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