Ordenar rangos de valores mixtos
Publicado por Manuel Raygoza (5 intervenciones) el 17/06/2008 18:23:41
Solo necesito crear una consulta SQL en la cual me ordene en base a valores mixtos
Por ejemplo que me ordene de 011 a 087, de G a P, 01 a 011 Y PA01 A PQ3
Todos estos datos estan en una sola columna llamada Nivel.
Solo encontre con la sentencia between puedes seleccionar algun registro por cierto rango, pero al momento de ordenar no me funciona.
Mi Query es el siguiente:
Select Programa, Unidad, Estado, Ambito, Municipio, Zona, Nivel, Rango, IdPuesto, IdPlaza, Etapa, VigIni, VigFin, VigFinAuto, ;
Sum( noPlazas ) as noPlazas, TipoPlan, '' Grupo, CosMensual, Cuota ;
from &pcTabla where between(Nivel,'011','087') OR between(Nivel,'G','P') OR between(Nivel,'01','11') OR between(Rango,'Q1','Q3') or (between(Nivel,'P','P') and between(Rango,'A1','C3')) ;
Group by &pcGpo ;
into cursor Descripciones
Aqui solo estoy seleccionando los campos que cumplan las condiciones, pero no se como implantar el query para que me los ordene como lo mencione anteriormente.
Seria de mucha ayuda si me pusieran un ejemplo. Gracias.
Por ejemplo que me ordene de 011 a 087, de G a P, 01 a 011 Y PA01 A PQ3
Todos estos datos estan en una sola columna llamada Nivel.
Solo encontre con la sentencia between puedes seleccionar algun registro por cierto rango, pero al momento de ordenar no me funciona.
Mi Query es el siguiente:
Select Programa, Unidad, Estado, Ambito, Municipio, Zona, Nivel, Rango, IdPuesto, IdPlaza, Etapa, VigIni, VigFin, VigFinAuto, ;
Sum( noPlazas ) as noPlazas, TipoPlan, '' Grupo, CosMensual, Cuota ;
from &pcTabla where between(Nivel,'011','087') OR between(Nivel,'G','P') OR between(Nivel,'01','11') OR between(Rango,'Q1','Q3') or (between(Nivel,'P','P') and between(Rango,'A1','C3')) ;
Group by &pcGpo ;
into cursor Descripciones
Aqui solo estoy seleccionando los campos que cumplan las condiciones, pero no se como implantar el query para que me los ordene como lo mencione anteriormente.
Seria de mucha ayuda si me pusieran un ejemplo. Gracias.
Valora esta pregunta


0