SQL - Error al utilizar Case para ordenar un procedimiento almacenado

 
Vista:
sin imagen de perfil
Val: 9
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Daniel (5 intervenciones) el 20/05/2019 15:42:27
Hola . si alguien me puede comentar por que me da error al enviar al parametro @Orden = 2 cuando ejecuto este procedimiento almacenado que cree.
si envio el parametro @Orden = 1 funciona correctamente

Con parametro @Orden = 2
Mens 245, Nivel 16, Estado 1, Procedimiento Informe_Articulos, Línea 4
Error de conversión al convertir el valor varchar 'A_Cuero Fino 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Articulos.Art_Codigo int
Articulos.Art_Descripcion char
 
 
ALTER PROCEDURE [dbo].[Informe_Articulos]
	@DesdeArticulo Int, @HastaArticulo Int, @Rubro Int = Null, @SubRubro Int = Null, @Orden int
AS
Select Articulos.Art_Codigo, Articulos.Art_Descripcion , Unidades.*, Tipo_Rubros_Articulos.*
FROM (Articulos INNER JOIN Tipo_Rubros_Articulos ON Articulos.Art_Rubro = Tipo_Rubros_Articulos.Tipo_Rub_Codigo)
INNER JOIN Unidades ON Articulos.Art_Unidad_De_Medida = Unidades.Tipo_Uni_Codigo
Where (Articulos.Art_Codigo Between @DesdeArticulo And @HastaArticulo)
And ( @Rubro Is NULL OR Articulos.art_rubro = @Rubro)
And ( @SubRubro Is NULL OR Articulos.Art_SubRubro = @SubRubro)
Order By Case @Orden
	When 1 then Articulos.Art_Codigo
	When 2 then Articulos.Art_Descripcion
END


Desde Ya Muchas Gracias
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 20/05/2019 20:01:30
¿Que motor de base de datos manejas?, No entiendo esta parte: 'A_Cuero Fino 1
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
sin imagen de perfil
Val: 9
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Daniel (5 intervenciones) el 20/05/2019 20:33:25
Hola.. Gracias por ocuparte... Esa es la descripción del Articulo por la que quiero ordenar..

Art_Codigo Art_Descricpion

1 - A_Cuero Fino
2 - Cuero Mediano
3 - Grueso

Sql Server 2012..
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 20/05/2019 23:22:04
¿Y que trae la variable @orden?
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

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Javier (3 intervenciones) el 20/05/2019 23:25:15
Articulos.Art_Descripcion char no debería ser varchar?
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
sin imagen de perfil
Val: 9
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Daniel (5 intervenciones) el 21/05/2019 14:23:12
Hola

¿Y que trae la variable @orden?

@Orden... la variable.. es 1 para que ordene por Codigo y 2 para que ordene por Descripcion


Articulos.Art_Descripcion char no debería ser varchar?

me da el mismo error... con char o varchar

Tengo poca experiencia.. por eso no se que puede ser...

Desde ya Muchas Gracias
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 21/05/2019 17:44:14
Veamos, cambia esta instruccion

1
Order By Case WHEN @Orden = 1 THEN Articulos.Art_Codigo ELSE Articulos.Art_Descripcion 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
sin imagen de perfil
Val: 9
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Daniel (5 intervenciones) el 21/05/2019 22:56:14
Hola

Me da el mismo error..
Si hago directamente

Order By Articulos.Art_Descripcion NO me da error..

Pero si hago asi

Order By Case WHEN @Orden = 1 THEN Articulos.Art_Codigo ELSE Articulos.Art_Descripcion END

con @Orden = 1 Funciona..
pero con @Orden = 2 ... me da el error..

Slds.
Daniel
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Error al utilizar Case para ordenar un procedimiento almacenado

Publicado por Isaias (1921 intervenciones) el 21/05/2019 23:09:05
De acuerdo, dame el TEXTO completo del error o mándame una captura de pantalla
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