Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como ordenar mi consulta?

Estas en el tema de Como ordenar mi consulta? en el foro de Mysql en Foros del Web. La verdad, no creo que sea complejo, pero prefiero hacerlo bien y con la asesoría de alguien que sí sepa lo que está haciendo... Tengo ...
  #1 (permalink)  
Antiguo 01/05/2012, 11:48
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Como ordenar mi consulta?

La verdad, no creo que sea complejo, pero prefiero hacerlo bien y con la asesoría de alguien que sí sepa lo que está haciendo...

Tengo una tabla que consta de 10 campos:
id
piso
sector
numero_local
nombre
telefono
clasificacion
nit
razon_social
marcas
(el id, es un auto-incremental que tengo por tener...)

Cuando genero la consulta, dado el orden en el que inserte los datos, el orden en el que me muestran es por pisos, saliendo así:

EXTERNO........................
PP............... (quiere decir piso principal, pero en la base de datos está como PP)
PISO 1..........
PISO 2 ............
PISO 3 ..........
PISO 4 .........
PISO 5 ............

El problema que tengo es que al ingresar otro registro, digamos por ejemplo, de algo que esté ubicado en PISO 2, por obvias razones me queda a lo último y si le doy order by a la consulta, no me pone a PP en el orden que necesito....

Como la puedo organizar?

Espero haberme hecho entender...
Mil gracias por su tiempo! Saludos desde Medellín, Colombia!
  #2 (permalink)  
Antiguo 01/05/2012, 13:51
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Como ordenar mi consulta?

mm yo de usted le crearia un campo que se llame nivel..... a PP le asigna 0 a Piso1 le asigna 1 ... asi susesivamente y se ahorra problemas y lo ordena facilito.
  #3 (permalink)  
Antiguo 01/05/2012, 13:57
 
Fecha de Ingreso: marzo-2012
Mensajes: 53
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Como ordenar mi consulta?

Hola, intenta asi:

Código:
SELECT * FROM tablapisos ORDER BY LENGTH(piso), piso;
Saludos.
  #4 (permalink)  
Antiguo 01/05/2012, 15:20
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como ordenar mi consulta?

Cita:
Iniciado por helacer Ver Mensaje
mm yo de usted le crearia un campo que se llame nivel..... a PP le asigna 0 a Piso1 le asigna 1 ... asi susesivamente y se ahorra problemas y lo ordena facilito.
Lo había pensando, pero por requerimientos, tengo que armarlo así...

Gracias!
  #5 (permalink)  
Antiguo 01/05/2012, 15:49
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como ordenar mi consulta?

Cita:
Iniciado por falegria230349 Ver Mensaje
Hola, intenta asi:

Código:
SELECT * FROM tablapisos ORDER BY LENGTH(piso), piso;
Saludos.
Excelente... El problema es que uno de los pisos dice "EXTERNO" y me lo pondría al final de todo... Hay alguna forma de decirle en que orden necesito que me los saque? o de decirle que siga ese orden con el LENGTH pero que me excluya "EXTERNO" y me lo ponga de primero?

Mil gracias...!
  #6 (permalink)  
Antiguo 01/05/2012, 22:13
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Como ordenar mi consulta?

mmm se me ocurre que entocnes cree una tabla independie te co n el codigo osea en su cas oP PP, piso 1, etc... y otro campo con el nivel que le comente..... luego hace un inner jon que una las dos tablas y ordena por nivel y listo..
  #7 (permalink)  
Antiguo 02/05/2012, 18:12
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Respuesta: Como ordenar mi consulta?

Mil gracias a todos por el tiempo... Ya lo logré arreglar, por si les puede servir para alguna consulta que tengan que hacer, acá les dejo como yo la organicé...

...
SELECT * FROM listado ORDER BY FIELD( piso, 'EXTERNO', 'PP', 'PISO 1', 'PISO 2', 'PISO 3', 'PISO 4', 'PISO 5' ) ASC , `numero_local`
...

Saludos !
Gracias!

Etiquetas: tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:24.