SQL - MAS DE UNA FILA EN SUBQUERY.

 
Vista:
sin imagen de perfil

MAS DE UNA FILA EN SUBQUERY.

Publicado por DALSOM (195 intervenciones) el 30/04/2010 00:39:33
HOLA A TODOS.

HE REVISADO EL FORO, Y HE VISTO QUE LOS PROBLEMAS QUE TIENEN ESTE ERROR, SON CAUSADOS POR ERRORES DE DIGITACION, O ALGO PARECIDO.

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

LO QUE INTENTO HACER ES :

TABLA_PRINCIPAL TABLA_EXTERNA
ID ID
FKID

EN LA TABLA PRINCIPAL AGREGO UNA COLUMNA :

alter tabla TABLA_PRINCIPAL add TIPOFK tinyint not null default 0

LUEGO A ESTA NUEVA COLUMNA QUIERO DARLE OTRO VALOR PARA CIERTA CONDICION :

update TABLA_PRINCIPAL set TIPOFK = 1 where FKID IN(Select ID from TABLA_EXTERNA)

TAMBIEN INTENTE CON EL JOIN COMO EXPLICO ISAIAS ISLAS EN OTRO POST:

update TABLA_PRINCIPAL set TIPOFK = 1
from TABLA_PRINCIPAL p inner join TABLA_EXTERNA e on p.FKID = e.ID

EN AMBOS CASOS, OBTUVE EL MISMO ERROR. PROBE CON EL SELECT, SIN ACTUALIZAR, Y FUNCIONA A LA PERFECCION, ME TRAE TODOS LOS REGISTROS QUE QUIERO ACTUALIZAR, PERO CON EL UPDATE, NO FUNCIONA EN NINGUNO DE LOS CASOS. FIJENSE, QUE EN EL PRIMER QUERY, UTILIZO UN "in ( )" POR LO QUE EL MENSAJE DE ERROR NO CONCUERDA CON LO QUE SUCEDE. TAMBIEN, SOLO SUCEDE EN ESA TABLA, EN LAS DEMAS TABLAS MODIFICADAS, NO OCURRIO NINGUN PROBLEMA CON EL MISMO QUERY DE ACTUALIZACION.

ALGUNA IDEA DE QUE PUEDE ESTAR PASANDO?

GRACIAS POR TOMARSE TIEMPO PARA LEER MI POST.
SALUDOS,
DALSOM.
REP. DOM.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MAS DE UNA FILA EN SUBQUERY.

Publicado por Rolando (2 intervenciones) el 04/05/2010 21:55:52
update TABLA_PRINCIPAL set TIPOFK = 1 where FKID IN(Select ID from TABLA_EXTERNA)

El error debe estar en :
where FKID IN(Select ID from TABLA_EXTERNA)

trae mas un registro, es decir tu actualizacion se hace para varios registros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MAS DE UNA FILA EN SUBQUERY.

Publicado por Rodrigo (1 intervención) el 23/01/2015 18:32:34
Perrin agregue IN en vez de = si quiere traer mas de un registro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar