Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   UPDATE con referencia a otra tabla... (https://www.clubdelphi.com/foros/showthread.php?t=13035)

JorgeBec 04-08-2004 16:25:13

UPDATE con referencia a otra tabla...
 
Que tal comunidad! mi pregunta es la siguiente, tengo2 tablas una de ventas y otra de productos, y necesito hacer un UPDATE sobre ventas en base a un campo de productos...ejemplos


Código:

                  VENTAS                                        PRODUCTO
------------------------------------      --------------------------------
CODPROD  PRECIO  CANTIDAD  REGALIAS  CODIGO  DESCRIPCION  REGALIAS
X                3          10                          X      Prod x                *
X                3          100                          Y      Prod y


Quiero grabar en el campo de regalias de la tabla VENTAS el total de regalias en base a un porcentaje dado por el usuario multiplicado por (precio*cantidad), todo siempre y cuando el producto tenga el identificador de regalias en la tabla producto.

como iria la sentencia...

PD Uso Delphi 4 y tablas xBase

JorgeBec 04-08-2004 16:28:06

No se visaliza bien lo que puse, pero el punto es que hay dos tablas VENTAS y PRODUCTO, las cuales tienen un campo en comun codprod y la tabla de PRODUCTO tiene un campo regalias, y quiero hacer un update en la tabla de VENTAS en base al campo regalias de la tabla PRODUCTO...saludos...

Neftali [Germán.Estévez] 04-08-2004 16:36:30

Utiliza el Tag "Code" para mantener los espacios...

Código:

VENTAS PRODUCTO
----------------------------------------------------------------
CODPROD PRECIO CANTIDAD REGALIAS CODIGO DESCRIPCION REGALIAS
X        3        10        X        Prod        x          *
X        3        100        Y        Prod        y


JorgeBec 05-08-2004 17:19:34

Lo anterior en xBase se resolveria de la siguiente manera:

1. Se relacionan las 2 tablas
2. Se utiliza el comando REPLACE, poniendolo mas o menos de la siguiente manera
SELECT VENTAS
REPLACE ALL regalias FOR Producto->regalias = '*'


Disculpen por hacer la analogia con xBase, pero es lo que mas domino...agradecere sus respuestas...

o alguien tiene alguna otra sugerencia???

jachguate 05-08-2004 18:52:13

Cita:

Empezado por JorgeBec
SELECT VENTAS
REPLACE ALL regalias FOR Producto->regalias = '*'

Te estas auto-respondiendo???

:confused:

JorgeBec 05-08-2004 20:25:05

No, no es autorespuesta, ya que en mi mensaje hago referencia a XBASE, quiero hacer lo mismo pero con SQL, y me respondo por que alguna vez un moderador me comento que no escribiera mas hilos que si queria que vieran el mensaje me autorespondiera...

jachguate 05-08-2004 20:48:36

oh, ok.

Tu estructura, para mi no es clara, ni como están relacionadas las tablas, pero te serviría algo como:

Código SQL [-]
Update ventas v
   set regalias = (Select campo 
                     from productos p
                    where p.codigo = v.codigo)
 where algunpredicado;

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 21:08:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi