Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta sql (https://www.clubdelphi.com/foros/showthread.php?t=18986)

jefraub 01-03-2005 08:47:45

consulta sql
 
Hola a todos, os voy a exponer mi problema, porque llevo dias intentandolo y no consigo resolverlo.

Esiste una primera tabla llamada unidades en la que unos determinados productos no tienen precio por un error mio. Cada uno de esos productos tienen una identificacion "NumCod_Uni".

En una segunda tabla unidades2 tengo alguno de los precios de esas unidades asignados a ese mismo "nuncod_uni". Se que lo que deberia hacer es un bucle recorriendo todas y cada una de las ocurrencias de unidades 1 con precio 0, y para cada ocurrencia, buscar en unidades2 su precio y asignarselo. Pero he hecho algo como lo que sigue y no lo consigo:


datamodule1.ADONoprecio.Open;
datamodule1.ADONoprecio.First;
While not datamodule1.ADONoprecio.Eof do
begin
datamodule1.ADoprecio.Parameters.ParamByName('codigo').Value:=datamodule1.ADONoprecioNumCod_Uni.Valu e;
datamodule1.ADoprecio.open;
datamodule1.ADONoprecio.Edit;
datamodule1.ADONoprecioPvpUni_Uni.Value:=datamodule1.ADoprecioPvpUni_Uni2.Value;
datamodule1.ADONoprecio.UpdateBatch();
Datamodule1.ADONoprecio.Next;
end;



Con la SQl adonoprecio saco las unidades que no tienen precio, mientras que la sql adoprecio casa los precios para un codigo dado.


La sql de adonoprecio es:

select * from unidades where pvpuni_uni=0


mientras que la sql de adoprecio es:

Select * from unidades2

where NumCod_Uni2= :codigo and PvpUni_Uni2 <> 0


A ver si alguien me puede hechar un cable porque la verdad es que me estoy volviendo loco porque no hay forma, os aviso ya que soy novato y por eso igual he hecho muchas cosas que no tienen ni pies ni cabeza.

Un saludo y muchisimas gracias a todos.

lucianojdg 01-03-2005 12:26:38

Si entendi bien tu problema, lo que quieres hacer es actuaizar los precios que estan en cero de la tabla unidades con los precios de la tabla unidades2.
Lo puedes hacer de la siguiente manera:

Código:

 
update unidades
set pvpuni_uni = (Select PvpUni_Uni2 from unidades2
                          where NumCod_Uni2= unidades.NumCod_Uni)
where pvpuni_uni=0


Saludos


La franja horaria es GMT +2. Ahora son las 04:34:51.

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