Cómo actualizar una columna con otra de la misma tabla?

13/02/2007 - 15:14 por path | Informe spam
Hola a todos
Tengo una tabla con una columna llamada ciudad, pero esta clumna tiene la
ciudad y la provincia separadas por comas así:
"Quito, PICHINCHA", etc
necesito separar "Quito" en una columna temporal y este el es código pero me
da problemas...
update Table_ciudad

set city_temp=(

Select substring(ciudad,1,charindex(' , ',Ciudad))

from benefaccount

where ciudad LIKE '% , %')

El mensaje de error es:

Msg 512, Level 16, State 1, Line 2

Subquery returned more than 1 value. This is not permitted when the subquery
follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

The statement has been terminated.

Cómo resolverlo?

Gracias

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
13/02/2007 - 16:42 | Informe spam
No se por que mencione variable en mi primer post, sera que al ver SET ...,
asumi que tratavas de asignar el valor a una variable.


AMB


"Alejandro Mesa" wrote:

path,

Estas tratando de asignar a una variable, el conjunto de filas devueltas por
una sentencia "select". Fijate en el resultado de ejecutar:

Select substring(ciudad,1,charindex(' , ',Ciudad))
from benefaccount
where ciudad LIKE '% , %')

Cuantas filas devuelve?, ese es el problema que tienes.

set city_temp=(

Select substring(ciudad,1,charindex(' , ',Ciudad))
from benefaccount
where ciudad LIKE '% , %'

)

Trata de filtrar el resultado para que solo traiga una fila.

Select substring(ciudad,1,charindex(' , ',Ciudad))
from benefaccount
where
ciudad LIKE '%OTAVALO%'
and ciudad LIKE '%,%'

)
go


AMB

"path" wrote:

> Hola a todos
> Tengo una tabla con una columna llamada ciudad, pero esta clumna tiene la
> ciudad y la provincia separadas por comas así:
> "Quito, PICHINCHA", etc
> necesito separar "Quito" en una columna temporal y este el es código pero me
> da problemas...
> update Table_ciudad
>
> set city_temp=(
>
> Select substring(ciudad,1,charindex(' , ',Ciudad))
>
> from benefaccount
>
> where ciudad LIKE '% , %')
>
> El mensaje de error es:
>
> Msg 512, Level 16, State 1, Line 2
>
> Subquery returned more than 1 value. This is not permitted when the subquery
> follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
>
> The statement has been terminated.
>
> Cómo resolverlo?
>
> Gracias
>
>
>
Respuesta Responder a este mensaje
#7 path
13/02/2007 - 18:00 | Informe spam
Lo sé, pero tengo otra columna llamada temp_ciudad y temp_provincia donde
del asignaré los nuevos valores
gracias

"Alejandro Mesa" wrote in message
news:
path,

update tu_tabla
set ciudad = substring(ciudad,1,charindex(' , ', ciudad))
where ciudad LIKE '% , %')

Con esta sentencia perderas la informacion sobre la provincia.


AMB


"path" wrote:

No puedo, tengo cientos de registros...

"Alejandro Mesa" wrote in
message
news:
> path,
>
> Estas tratando de asignar a una variable, el conjunto de filas
> devueltas
> por
> una sentencia "select". Fijate en el resultado de ejecutar:
>
> Select substring(ciudad,1,charindex(' , ',Ciudad))
> from benefaccount
> where ciudad LIKE '% , %')
>
> Cuantas filas devuelve?, ese es el problema que tienes.
>
> set city_temp=(
>
> Select substring(ciudad,1,charindex(' , ',Ciudad))
> from benefaccount
> where ciudad LIKE '% , %'
>
> )
>
> Trata de filtrar el resultado para que solo traiga una fila.
>
> Select substring(ciudad,1,charindex(' , ',Ciudad))
> from benefaccount
> where
> ciudad LIKE '%OTAVALO%'
> and ciudad LIKE '%,%'
>
> )
> go
>
>
> AMB
>
> "path" wrote:
>
>> Hola a todos
>> Tengo una tabla con una columna llamada ciudad, pero esta clumna tiene
>> la
>> ciudad y la provincia separadas por comas así:
>> "Quito, PICHINCHA", etc
>> necesito separar "Quito" en una columna temporal y este el es código
>> pero
>> me
>> da problemas...
>> update Table_ciudad
>>
>> set city_temp=(
>>
>> Select substring(ciudad,1,charindex(' , ',Ciudad))
>>
>> from benefaccount
>>
>> where ciudad LIKE '% , %')
>>
>> El mensaje de error es:
>>
>> Msg 512, Level 16, State 1, Line 2
>>
>> Subquery returned more than 1 value. This is not permitted when the
>> subquery
>> follows =, !=, <, <= , >, >= or when the subquery is used as an
>> expression.
>>
>> The statement has been terminated.
>>
>> Cómo resolverlo?
>>
>> Gracias
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida