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

Ordenación incorrecta cuando hay guiones en mysql

Estas en el tema de Ordenación incorrecta cuando hay guiones en mysql en el foro de Mysql en Foros del Web. Saludos a todos, les explico mi duda acerca del comportamiento de una consulta Resulta que tengo una tabla de empleados donde tengo el nombre y ...
  #1 (permalink)  
Antiguo 06/06/2008, 13:15
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Pregunta Ordenación incorrecta cuando hay guiones en mysql

Saludos a todos, les explico mi duda acerca del comportamiento de una consulta

Resulta que tengo una tabla de empleados donde tengo el nombre y apellidos en general, esta tabla al momento de hacer la siguiente consulta:

Código PHP:
select apellidoPaterno,apellidoMaterno  from empleado ORDER BY apellidoPaterno 
El resultado se supone que es el listado de todos los empleados ordenados por apellido paterno (A - Z), pero no es así cuando en el campo del apellido se encuentra un guion - , el orden que me dá es; primero una parte de los apellidos que comienzan con A, después el empleado con el guion - , luego vuelve a continuar con el resto los empleados de la A hasta la Z,

Todavia más raro el comportamiento cuando hay mas guiones, hace varios grupos proporcionalmente a la cantidad de guiones que se encuentran en la tabla

Por ejemplo si tengo tres guiones, entonces me hace tres grupos de la (A-Z)

(A - Z)
guion
(A - Z)
guion
(A - Z)

Bueno espero que alguien sepa la causa de este raro comportamiento

saludos
  #2 (permalink)  
Antiguo 06/06/2008, 13:19
Avatar de terepaima  
Fecha de Ingreso: junio-2008
Mensajes: 82
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Hola

Por que permites que los usuarios coloquen caracteres como el - en apellidos?

Se que esto no resuelve tu problema, pero me da curiosidad ... no validas los campos antes de incluirlos en la DB?
  #3 (permalink)  
Antiguo 06/06/2008, 13:37
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Saludos

YA probaste de esta forma

Cita:
select apellidoPaterno,apellidoMaterno from empleado ORDER BY apellidoPaterno ASC

ó

select apellidoPaterno,apellidoMaterno from empleado ORDER BY apellidoPaterno,apellidoMaterno ASC
Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 06/06/2008, 14:47
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Saludos gracias por sus respuestas , Si ya probé agregando el tipo de orden ASC y el DESC sale el mismo resultado, de plano estoy pensando que es un bug de mysql que creen uds.

Gracias saludos :D
  #5 (permalink)  
Antiguo 06/06/2008, 14:52
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Cita:
de plano estoy pensando que es un bug de mysql que creen uds.
Idem, debe ser un bug. ¿Que version utilizas? ¿la 5?
__________________
Saludoss
Guille
  #6 (permalink)  
Antiguo 06/06/2008, 14:54
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Es la versión 4.0.27-standard

saludos
  #7 (permalink)  
Antiguo 06/06/2008, 14:59
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Ahh, ok, entonces habría que probar en la última, la 5... Quizás ahi el problema está solucionado (además de que estaría bueno migrar la base porque la 5 soporta stored procedures, triggers y lo mejor, índices :D).
__________________
Saludoss
Guille
  #8 (permalink)  
Antiguo 06/06/2008, 15:15
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Me parece una buena idea ,
nada mas el problema es que la BD se encuentra en un servidor en internet y va a estar dificil que cambien la version,
pero de todas maneras voy a intentar bajar la base de datos a mi maquina para comprobar si es problema de la version anterior de mysql.

Mil gracias
  #9 (permalink)  
Antiguo 06/06/2008, 15:47
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Ya probé también con la version 5.0.24a-community-nt y es el mismo resultado.
  #10 (permalink)  
Antiguo 08/06/2008, 03:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ordenación incorrecta cuando hay guiones en mysql

Si tu problema son los guiones, quita los guiones, pero no del campo, sino de la ordenación, y hazlo mediante REPLACE.
observa esto:

SELECT apellidoPaterno,apellidoMaterno from empleado ORDER BY REPLACE(apellidoPaterno, '-', '')

Esto te quita todos los guiones del orden, pero no del campo, por lo que podrás ver los guiones, pero el orden alfabético no los tendrá en cuenta. Se pueden eliminar más caracteres del orden, haciendo REPLACE anidados. Yo tengo hasta 8 para quitar paréntesis y corchetes de una ordenación sin eliminarlos del campo, y funciona. Ah, y también puedes usar ese REPLACE con CONCAT.

Última edición por jurena; 08/06/2008 a las 03:15
  #11 (permalink)  
Antiguo 09/06/2008, 12:05
Avatar de hvelasco  
Fecha de Ingreso: mayo-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Solucionado!!

Gracias jurena por ahí era la solución, les agradezco a todos los que me apoyaron
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 18:06.