View Single Post
  #6  
Old 27/11/2007
jhonny's Avatar
jhonny jhonny is offline
Jhonny Suárez
 
Join Date: May 2003
Location: Colombia
Posts: 7,070
Rep Power: 32
jhonny Va camino a la famajhonny Va camino a la fama
Quote:
Originally Posted by maeyanes View Post
mmm por que va a quedar repetido?
Código SQL [-]
update ventas_new a set a.nombre = (select b.nombre from ventas_old b where b.id = a.id)

Bueno, fraccionemos el ejercicio un poco haciendo una especie de "prueba de escritorio"...

Por un lado tenemos

Código SQL [-]
update ventas_new a set a.nombre =

Esa parte de la consulta esta esperando un valor, que puede ser cualquiera, en nuestro caso es...

Código SQL [-]
(select b.nombre from ventas_old b where b.id = a.id)

- Ahora bien, si hacemos un ejercicio mental de quitar la subconsulta e imaginarnos que nos devuelve un valor cualquiera, por ejemplo "Jhonny", obtendriamos la siguiente consulta, (Que en ultimas es lo que haria cualquier motor, suponiendo que unicamente me devolvera un solo registro en todos los casos)...

Código SQL [-]
update ventas_new a set a.nombre = 'Jhonny'

Como podemos ver no hay una condición where donde le indique al motor cual es el registro para actualizar, de manera que los actualizara todos .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Last edited by jhonny : 27/11/2007 at 23:32.
Reply With Quote