Es muy posible que por cada uno de los registros del fichero a actualizar el subselect te devuelva m�s de un valor diferente, por eso te da mas de un registro a pesar del distinct.
 
Haz un select enlazando las tres tablas y lo podr�s comprobar.  Si est� pasando esto, una vez decidas qu� valor quieres pasarle, podr�s gastar las funciones MAX, SUM, MIN, AVG... para que el subselect te devuelva solo un valor
 

Saludos.

Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
(   : 964343434 
<mailto:[EMAIL PROTECTED]>

-----Mensaje original-----
De: Nildo Talavera [mailto:[EMAIL PROTECTED]]
Enviado el: mi�rcoles, 23 de octubre de 2002 17:36
Para: forum400
Asunto: UpDate

GRACIAS
ahora pruebo con distinct y sale el mismo mensaje 'el select es de mas de una fila'
la sentencia es la sgte :
 
UpDate Speed400pg.pt_lotes L Set (ltcodcli) = (Select Distinct clicve From  speed400pg.tclie C,speed400pg.f_factura F
 Where
 L.ltlote = F.nrolote  And
 C.cliruc = F.codcliente ) ;
 
son tres tablas :
 
pt_lotes    Maestro de Lotes
tclie         Maestro de Clientes
f_factura   Cabecera de Facturas
 
quiero actualizar la columna ltcodcli con la columna codigo de cliente de la tabla tclie
relaciono la tabla lotes con las facturas, ya que en las facturas guardo el nro de lote
luego relaciono el codigo del cliente de las facturas contra el ruc de la tabla de clientes
es decir a lo que que quiero llegar es a actualizar el codigo del cliente de las tabla lotes
con el codigo de cliente del maestro de clientes usando la relacion lotes - facturas y
facturas - clientes
 
 
 
 
 
 
 
Atte,
Nildo Talavera Johnson
Pesquera Industrial El Angel S.A.
Dpto. de Sistemas
Tel : 362-4110  Axos 216 - 217

Responder a