FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
SQL Script Error (mas de un valor)
Hola a todos, estoy realizando una consulta con el fin de actualizar un campo en una tabla con el resultado de una subconsulta pero me arroja el siguiente error:
'La subconsulta ha devuelto mas de un valor lo que no es correcto cuando va a continuacion de =,!,<,<=,>,>= o cuando se utiliza como expresión' La consulta que ejecuto es la siguiente: Código:
update resultadoevalu set resultadocalifresp=( select sum(cc.calificacion) /max(codigoresponsabilidad) as totalcaliresp from personal p inner join calificacionresponsabilidadjefe cc on cc.cedula=p.cedula group by cc.fechaevaluacion,p.cedula) where resultadocalifresp=0 and resultadocalifhab=0 and totalevalu=0 Agradezco a quien me pueda dar luces...Gracias!
__________________
Alejandrina |
#2
|
||||
|
||||
Como realices operaciones dentro de la consulta, es posible que al devolverte un valor con decimales el campo de recepción se por ejemplo entero y de ahí puede venir el error.
Suponiendo que ese fuera el error, tendrías que utilizar CAST. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
El error te está diciendo que el select que haces para hacer el update da mas de un valor.
Si ese select devuelve más de un valor, ¿cuál será el que tiene que utilizar para meter en resultadocalifresp? Realiza el select interno y verás que te devuelve dos valores
|
#4
|
||||
|
||||
SQL Script Error (mas de un valor)
Hola, gracias por ayudarme.
Efectivamente lo que me dicen es cierto el resultado de la subconsulta arroja valores tipo 95.8333 aplicando el CAST solo a la subconsulta esta ya me arroja valores tipo 95 pero cuando lo ejecuto todo completo me sale el mismo error... Código:
update resultadoevalu set resultadocalifresp=(select cast(sum(cc.calificacion) /max(codigoresponsabilidad)as int) as totalcaliresp from personal p inner join calificacionresponsabilidadjefe cc on cc.cedula=p.cedula group by cc.fechaevaluacion,p.cedula) where resultadocalifresp=0 and resultadocalifhab=0 and totalevalu=0 Help!!!
__________________
Alejandrina |
#5
|
||||
|
||||
Por lo que entiendo quieres poner - en todos los registros que cumplan resultadocalifresp=0 and resultadocalifhab=0 and totalevalu=0 - en el campo resultadocalifresp de la tabla resultadoevalu un único valor que sacas de una subconsulta.
Con este update pones un único valor a cada regisro. Sería como hacer lo siguiente:
Si la subconsulta te arroja mas de un valor, debes elegir cual vas a usar para hacer el update. Tienes varias opciones min, max, avg, fist ...
Si no es eso lo que quieres, explícanos la situación un poco más detalladamente. |
#6
|
||||
|
||||
SQL Script Error (mas de un valor)
Hola, Explicare mi situación mas detalladamente. La subconculta me arroja los siguientes resultados por decir algo 95,100,100,62,100,93,62,25,75...
Ahora en ese mismo orden quiero actualizar el campo ResultadoCalifResp donde se cumpla que los campos resultadocalifresp=0 and resultadocalifhab=0 and totalevalu=0...mmm es algo como esto: Cedula resultadoCaliCargo resultadocalifresp resultadocalifhab totalevalu a 65 95 75 78 b 75 95 0 0 c 40 63 75 59 d 75 100 0 0 e 80 100 0 0 Estoy ejecutando esta consulta desde el Database Explorer. Espero haberme hecho entender y que me puedan colaborar...Muchas gracias
__________________
Alejandrina |
#7
|
||||
|
||||
En este caso, lo único que se me ocurre es hacer un procedimiento...
Código:
95,100,100,62,100,93,62,25,75... a 65 95 75 78 b 75 0 0 0 c 40 63 75 59 d 75 0 0 0 e 80 0 0 0 pasa a --> a 65 95 75 78 b 75 95 0 0 c 40 63 75 59 d 75 100 0 0 e 80 100 0 0 y luego
Nota: Qué pasa con los valores que sobran en la subconsulta si no se encuentran suficientes registros que cumplan la condición en resultadoevalu? 95,100,100,62,100,93,62,25,75,... Nota 2: En qué orden deben entrar los valores de la subconsulta en la tabla resultadoevalu? Última edición por duilioisola fecha: 26-09-2007 a las 16:09:13. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
error, el índice o la clave principal no puede tener un valor null | locorez | Varios | 3 | 15-12-2006 04:40:42 |
Cuantos <Script></Script> deben haber en un <Body>? | Deiv | HTML, Javascript y otros | 9 | 07-12-2006 01:27:50 |
Error en OnCalcFields con valor retornado de un SELECT SUM() | Cabanyaler | Conexión con bases de datos | 1 | 17-10-2006 11:44:22 |
Error pasando un valor a unDbgrid | jandres | Varios | 1 | 17-06-2006 01:26:25 |
Error: El valor EOF o BOF es True o el actuañ registro de eliminó | lavtaro | Conexión con bases de datos | 2 | 30-06-2003 11:39:44 |
|