SQL Server - Error La subconsulta ha devuelto más de un valor

   
Vista:

Error La subconsulta ha devuelto más de un valor

Publicado por KINETIC_BRAIN (67 intervenciones) el 21/12/2009 19:32:28
Hola expertos

Ayudenme con esta query

select ISNULL((select ltrim(rtrim('<set value=''')))+(select ltrim(rtrim(CANT))AS CANT from FTE_COB_CO where FTE ='CC' and HRS = '00' AND COB = 'A') + (select ltrim(rtrim('''/>'))),'<set value=''''/>')

lo cual deberia entregarme

<set value='262'/>

el problema que me arroja:

La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.

por favor.
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
Imágen de perfil de roger

RE:Error La subconsulta ha devuelto más de un valo

Publicado por roger (173 intervenciones) el 21/12/2009 22:17:29
Prueba asi
1
2
3
4
select ISNULL(ltrim(rtrim('<set value=''')) + ltrim(rtrim(CANT))  +
ltrim(rtrim('''/>')),'<set value=''''/>')
from FTE_COB_CO
 where FTE ='CC' and HRS = '00' AND COB = 'A'
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por KINETIC_BRAIN (67 intervenciones) el 22/12/2009 14:11:37
Maestro excelente me funciono y ademas le agregue otro campo y funciona, mil gracias no conocia aquella forma, muy bien roger.
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por KINETIC_BRAIN (67 intervenciones) el 22/12/2009 16:33:27
Roger, si la query no encuentra datos segun el wjere deberia mostarme solamente
<set value=''/>
como modifico tu sugerencia para que me muestre el ese texto si no encuentra valor por favor.
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por kinetic_brain (67 intervenciones) el 22/12/2009 16:43:20
No esta funcionando ISNULL ya que si no encuentra valor para el campo CANT deberia mostara <set value=''/> pero no lo muestra.
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
Imágen de perfil de roger

RE:Error La subconsulta ha devuelto más de un valo

Publicado por roger (173 intervenciones) el 22/12/2009 18:52:12
y que muestra????
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por kinetic_brain (67 intervenciones) el 22/12/2009 19:15:00
Hola no muestra nada..
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
Imágen de perfil de roger

RE:Error La subconsulta ha devuelto más de un valo

Publicado por roger (173 intervenciones) el 22/12/2009 20:25:51
creo que ya te entiendo, prueba asi

1
2
3
4
5
6
7
8
9
10
SELECT CASE WHEN not exists(
SELECT CANT from FTE_COB_CO
WHERE FTE ='CC' and HRS = '00' AND COB = 'A' )
THEN '<set value=''''/>'
ELSE
(select ISNULL(ltrim(rtrim('<set value=''')) + ltrim(rtrim(CANT)) +
ltrim(rtrim('''/>')),'<set value=''''/>')
FROM FTE_COB_CO
WHERE
 FTE ='CC' and HRS = '00' AND COB = 'A' ) END
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por KINETIC_BRAIN (67 intervenciones) el 29/12/2009 15:46:38
Gracias roger, me fue de mucha utilidad, ya pude resolver el problema.
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

RE:Error La subconsulta ha devuelto más de un valo

Publicado por luuis (1 intervención) el 01/10/2012 23:31:34
1
2
3
4
5
6
7
8
9
Set @pEstado =case when ltrim(rtrim( @pLinTemp))  = ltrim(rtrim( @CHR_COD_LINEA_ADRYAN))
        then  'Si'
    else
        Case when ltrim(rtrim(@CHR_COD_LINEA_TMP)) = ltrim(rtrim(@pLinTemp))
                then 'Si'
                else
                'L'+ltrim(rtrim(@pLinTemp))
        end
    end


me sale este error La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.
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