Efectivamente, si hubiese varios registros en archivoA con el mismo valor
de campo1, se produciría un error en tiempo de ejecución, que te dejaría
algunos registros de archivoA cambiados, y otros sin cambiar, sin poder
determinar cuales, por lo que sería conveniente tomar precauciones.

Alternativamente, se puede modificar la instrucción para que no se produzca
un error, pero no garantiza que el resultado sea el deseado.
update archivoB set campoUno = (select MAX(campoDos) from archivoA where
archivoA.campoUno = archivoB.campoUno)
                  where exists (select * from archivoA where
archivoA.campoUno = archivoB.campoUno)
o también:
update archivoB set campoUno = (select campoDos from archivoA where
archivoA.campoUno = archivoB.campoUno)
                  where campoUno IN(select campoUno from archivoA GROUP BY
campoUno HAVING count(*)=1)


Saludos,
                  ---------------------------
                    Santiago Martí
                       Dusen, S.A.
                  ---------------------------



                                                                       
             Fernando Pérez                                          
             <[EMAIL PROTECTED]                                         
             m>                                                       Para
             Enviado por:              "forum.help400"                 
             forum.help400-bou         <[email protected]>
             [EMAIL PROTECTED]                                          cc
             os.es                                                     
                                                                    Asunto
                                       Re: Actualizacion por sql       
             10/05/2007 10:56                                          
                                                                       
                                                                       
                Por favor,                                             
                responda a                                             
              "forum.help400"                                          
             <[EMAIL PROTECTED]                                         
             stas.combios.es>                                          
                                                                       
                                                                       




Si te he entendido bien, creo que la siguiente sentencia te valdrá Si en A
no hay valores repetidos en campo1 (lo cual no parecería lógico)

update B set campo1 = (select campo2 from A where campo1 = b.campo1)
where exists (select campo1 from A where campo1 = b.campo1)

El where es necesario si no todas las filas de B tienen su correspondiente
en A


Saludos.

Fernando Pérez

Cerámica Saloni. Dpto. Auditoría y Organización


Jaime Villa Torres escribió:
      Señores, recurro a su ayuda, el problema es que me estoy llenando de
      programas y estoy pensando en una solución dinamica.

      Existe un archivoA con dos campos,
      campo uno, especifica un valor anterior.
      campo dos, especifica un valor nuevo.

      Otro archivoB
      campo uno, especifica un valor

      Con la informacion de este archivoA, se debe tomar el VALOR ANTERIOR,
      que es el valor de un campo del archivoB, y cambiar ese valor del
      archivoB por el NUEVO VALOR del archivoA.

      Lo primero que pense, es en una sentencia sql embebida en un
      SQLRPGLE, pero realmente no lo he logrado.

      Cualquier ayuda es bien venida.

      Gracias de antemano.
      __________________________________________________
      Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
      &amp;#169; Publicaciones Help400, S.L. - Todos los derechos
      reservados
      http://www.help400.es
      _____________________________________________________

      Para darte de baja visita la siguente URL:
      http://listas.combios.es/mailman/listinfo/forum.help400
      (See attached file: fperez.vcf)
      __________________________________________________
      Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
      &amp;#169; Publicaciones Help400, S.L. - Todos los derechos
      reservados
      http://www.help400.es
      _____________________________________________________

      Para darte de baja visita la siguente URL:
      http://listas.combios.es/mailman/listinfo/forum.help400

Attachment: fperez.vcf
Description: Binary data

__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
&amp;#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a