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 Agradezco a quien me pueda dar luces...Gracias! |
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. |
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
|
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 :confused:Help!!!:confused: |
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. |
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. :rolleyes:Espero haberme hecho entender y que me puedan colaborar...Muchas gracias |
En este caso, lo único que se me ocurre es hacer un procedimiento...
Código:
95,100,100,62,100,93,62,25,75... 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? |
La franja horaria es GMT +2. Ahora son las 05:10:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi