SQL Server - Duda con scrip para ordenar en base a parametro

   
Vista:

Duda con scrip para ordenar en base a parametro

Publicado por ismael (2 intervenciones) el 11/02/2008 18:23:25
Hola foristas tengo esta duda
encontre este scrip bueno ,para ordenar una consulta de acuerdo un parametro

declare @col1 varchar (50)

SELECT col1, col2, col3 ,serie_documento ,num_documento
FROM tbl
ORDER BY CASE @col1
WHEN 'col1' THEN col1
WHEN 'col2' THEN col2
WHEN 'col3' THEN col3
END

la pregunta es , como haria para ordenarlo por los campo
serie_documento ,num_documento
claro esta sin tener q unirlos

WHEN 'serie_numero' THEN serie_documento ,num_documento ?

o aqui ya no me queda otra q hacer query dinamico
sp_executesql

Saludos
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

RE:Duda con scrip para ordenar en base a parametro

Publicado por Isaias (3308 intervenciones) el 11/02/2008 21:55:36
Si vas a ocupar una variable y lo demas es fijo, es tan simple como que agregues dicha(s) columna(s):

SELECT col1, col2, col3 ,serie_documento ,num_documento
FROM tbl
ORDER BY CASE @col1
WHEN 'col1' THEN col1
WHEN 'col2' THEN col2
WHEN 'col3' THEN col3
END,num_documento,
fecha_documento

Por ejemplo
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:Duda con scrip para ordenar en base a parametro

Publicado por ismael (2 intervenciones) el 11/02/2008 23:01:34
Hola Isaias ,gracias por contestar
yo me referia a esto
como vez en el when he metido 2 columnas (?)
no se si se podra hacer algo asi
si el parametro es ''serie_y_numero'' entonces ordena por 2 Campos
la otra ocpion seria usar query dinamcico

set @ordenar_por = ''serie_y_numero''

SELECT col1, col2, col3 ,serie_documento ,num_documento
FROM tbl
ORDER BY CASE @ordenar_por
WHEN 'col1' THEN col1
WHEN 'col2' THEN col2
WHEN 'col3' THEN col3

--4 opcion ordenar por estas 2 columnas
WHEN ''serie_y_numero'' THEN serie_documento ,num_documento
END

Saudos
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