Borrar facturas según fecha y cliente de otra tabla?

28/09/2003 - 22:51 por marcelo | Informe spam
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de Fecha
y Cliente si esta está en la tabla FacturasNuevas?

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
29/09/2003 - 00:16 | Informe spam
Hola,

sin DDL me imagino que la relacion entre facturas y facturasnuevas es a través de la columna idFactura;
supongo que el código de cliente es IdCliente y la fecha de factura nueva es Fecha.

delete from facturas
inner join facturasnuevas
on facturas.idfactura = facturasnuevas.idfactura
where
facturasnuevas.idcliente = 15
and facturasnuevas.fecha = '20030921'



Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net



"Comparte lo que sabes, aprende lo que no sepas." FGG

"marcelo" escribió en el mensaje news:064d01c38602$563730e0$
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de Fecha
y Cliente si esta está en la tabla FacturasNuevas?
Respuesta Responder a este mensaje
#2 Marcelo
29/09/2003 - 14:36 | Informe spam
Hola Eladio,
Tus suposiciones de nombres son correctas, pero lo que yo
quiero es que me borre "todas las facturas para la
combinación Fecha y Clientes que hay en FacturasNuevas"
SIN TENER QUE HARDCODEARLE EL CLIENTE Y LA FECHA (por ej.
tu que pusiste facturasnuevas.idcliente = 15 and
facturasnuevas.fecha = '20030921') sino que me tome todos
los clientes y fecha que están en facturasnuevas y si
están en Facturas que los borre!!!
Sabes como se puede hacer esto?

Hola,

sin DDL me imagino que la relacion entre facturas y


facturasnuevas es a través de la columna idFactura;
supongo que el código de cliente es IdCliente y la fecha


de factura nueva es Fecha.

delete from facturas
inner join facturasnuevas
on facturas.idfactura = facturasnuevas.idfactura
where
facturasnuevas.idcliente = 15
and facturasnuevas.fecha = '20030921'



Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net



"Comparte lo que sabes, aprende lo que no sepas." FGG

"marcelo" escribió en el


mensaje news:064d01c38602$563730e0$
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de


Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de


Fecha
y Cliente si esta está en la tabla FacturasNuevas?

.

Respuesta Responder a este mensaje
#3 Liliana Sorrentino
29/09/2003 - 15:08 | Informe spam
Marcelo,
Entonces me parece que de la respuesta de Eladio solo te sobraría el
WHERE...
Saludos.. Liliana.


"Marcelo" escribió en el mensaje
news:135001c38686$4233da60$
Hola Eladio,
Tus suposiciones de nombres son correctas, pero lo que yo
quiero es que me borre "todas las facturas para la
combinación Fecha y Clientes que hay en FacturasNuevas"
SIN TENER QUE HARDCODEARLE EL CLIENTE Y LA FECHA (por ej.
tu que pusiste facturasnuevas.idcliente = 15 and
facturasnuevas.fecha = '20030921') sino que me tome todos
los clientes y fecha que están en facturasnuevas y si
están en Facturas que los borre!!!
Sabes como se puede hacer esto?

Hola,

sin DDL me imagino que la relacion entre facturas y


facturasnuevas es a través de la columna idFactura;
supongo que el código de cliente es IdCliente y la fecha


de factura nueva es Fecha.

delete from facturas
inner join facturasnuevas
on facturas.idfactura = facturasnuevas.idfactura
where
facturasnuevas.idcliente = 15
and facturasnuevas.fecha = '20030921'



Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net



"Comparte lo que sabes, aprende lo que no sepas." FGG

"marcelo" escribió en el


mensaje news:064d01c38602$563730e0$
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de


Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de


Fecha
y Cliente si esta está en la tabla FacturasNuevas?

.

Respuesta Responder a este mensaje
#4 marcelo
29/09/2003 - 16:11 | Informe spam
Con esto haría lo que yo quiero?

delete from facturas
inner join facturasnuevas on facturas.cliente =
facturasnuevas.cliente and facturas.fecha =
facturasnuevas.fecha



Marcelo,
Entonces me parece que de la respuesta de Eladio solo te


sobraría el
WHERE...
Saludos.. Liliana.


"Marcelo" escribió en el


mensaje
news:135001c38686$4233da60$
Hola Eladio,
Tus suposiciones de nombres son correctas, pero lo que yo
quiero es que me borre "todas las facturas para la
combinación Fecha y Clientes que hay en FacturasNuevas"
SIN TENER QUE HARDCODEARLE EL CLIENTE Y LA FECHA (por ej.
tu que pusiste facturasnuevas.idcliente = 15 and
facturasnuevas.fecha = '20030921') sino que me tome todos
los clientes y fecha que están en facturasnuevas y si
están en Facturas que los borre!!!
Sabes como se puede hacer esto?

Hola,

sin DDL me imagino que la relacion entre facturas y


facturasnuevas es a través de la columna idFactura;
supongo que el código de cliente es IdCliente y la fecha


de factura nueva es Fecha.

delete from facturas
inner join facturasnuevas
on facturas.idfactura = facturasnuevas.idfactura
where
facturasnuevas.idcliente = 15
and facturasnuevas.fecha = '20030921'



Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net



"Comparte lo que sabes, aprende lo que no sepas." FGG

"marcelo" escribió en el


mensaje news:064d01c38602$563730e0$
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de


Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de


Fecha
y Cliente si esta está en la tabla FacturasNuevas?

.





.

Respuesta Responder a este mensaje
#5 Javier Loria
29/09/2003 - 17:20 | Informe spam
Hola Marcelo:
Algo como:
/* Inicio de Codigo */
DELETE FROM Facturas
INNER JOIN FacturaNuevas ON
Facturas.IdCliente=FacturasNuevas.IdCliente AND
Facturas.Fecha=FacturasNuevas.Fecha
/* Fin de Codigo */

Saludos,


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.


Marcelo escribio:
Hola Eladio,
Tus suposiciones de nombres son correctas, pero lo que yo
quiero es que me borre "todas las facturas para la
combinación Fecha y Clientes que hay en FacturasNuevas"
SIN TENER QUE HARDCODEARLE EL CLIENTE Y LA FECHA (por ej.
tu que pusiste facturasnuevas.idcliente = 15 and
facturasnuevas.fecha = '20030921') sino que me tome todos
los clientes y fecha que están en facturasnuevas y si
están en Facturas que los borre!!!
Sabes como se puede hacer esto?

Hola,

sin DDL me imagino que la relacion entre facturas y


facturasnuevas es a través de la columna idFactura;
supongo que el código de cliente es IdCliente y la fecha de factura
nueva es Fecha.

delete from facturas
inner join facturasnuevas
on facturas.idfactura = facturasnuevas.idfactura
where
facturasnuevas.idcliente = 15
and facturasnuevas.fecha = '20030921'



Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net



"Comparte lo que sabes, aprende lo que no sepas." FGG

"marcelo" escribió en el


mensaje news:064d01c38602$563730e0$
Tengo una tabla de Facturas y otra de FacturasNuevas.
Las facturasNuevas tengo que insertarlas en la tabla
Facturas pero antes quiero borrar de la tabla de Facturas
todas las facturas para la combinación Fecha y Clientes
que hay en FacturasNuevas.

Ej: si los registros de FacturasNuevas son:
NroFactura Fecha Cliente ...
1 21/09/2003 15
2 21/09/2003 15
3 21/09/2003 15
4 22/09/2003 18
5 23/09/2003 15

En este ejemplo tendría que borrar de Facturas los
registros correspondientes al cliente 15 para el
21/09/2003 y el 23/09/2003 y para el cliente 18 para el
22/09/2003.


Cómo hago para borrar de Facturas la combinación de Fecha
y Cliente si esta está en la tabla FacturasNuevas?

.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida