
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.
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


0