PDA

Ver la Versión Completa : Update campo


amerika111
10-06-2011, 18:21:52
hola que tal, quisiera saber si hay una forma de actualizar un campo que contiene informacion extra:

ejemplo

campo direccion

Direccion
c.carlos cuaron,colonia madero #222

realizar un update y dejar solo la palabra madero

trate de realizarlo de la siguiente manera

update colonias set direccion='madero' where direccion=(select direccion from colonias where direccion like '%madero%')

y arroja este error

multiple rows in singleton select

Chris
10-06-2011, 18:43:11
update colonias set direccion='madero' where direccion=(select direccion from colonias where direccion like '%madero%')

Más o menos llevas una idea... vas por buen camino. Pero a cómo dice el error, el operador = solo puede comparar con un único valor, no con muchos a cómo devolverá el SELECT.

Para hacer lo que deseas puedes probar este código SQL:
update colonias set direccion='madero' where id in (select id from colonias where direccion like '%madero%')

La diferencia es que utilizo el operador IN. Utilizando el campo ID (que supongo tienes en tu tabla). Usando el campo ID o cualquier otro identificador de tipo entero se logra optimizar en gran manera la consulta.

Saludos,
Chris

guillotmarc
10-06-2011, 18:43:21
Hola.

No has escogido el operador adecuado. Tu consulta funcionaría así :

update colonias set direccion='madero' where direccion in (select direccion from colonias where direccion like '%madero%')

Aunque personalmente creo que es mucho más simple y elegante esta otra :

update colonias set direccion = 'madero' where direccion containing 'madero'

Saludos.