Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/01/2016, 08:58
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: ordenar resultado con 2 criterios

Hola ,
La bse datos es MySQL.
Los datos son realmente asi o sea characteres (incluidos unicode) como mucho seguidos de un numero Ej A A0 etc y separados en principio por coma
Lo que quieria hacer era de buscar coincidencias en mi columna y reemplazarlos por Un alias ( tambien character ) pero para distinguirlos ponerle un punto delante

Ej : si en mi columna tengo estos registros:
Código:
A,B,C,D,E,F,G,H
C,D,E
F,G,H
C,D
SE transformarian en
Código:
A,B.B.C
.D,E
F,G,H
C,D
o sea primero El A,B,C,D,E,F,G,H se transforma en A,B.B,F,G,H por transformar El grupo C,D,E en .B
luego se transforma en A,B.B.C donde .C es alias de F,G,H
luego C,D,E se transforma en .D,E por el alias .D de la coincidencia del C,D
etc .. etc...

Luego si se añade otro registro a mi_columna ej:
Código:
A,B.B.C
.D,E
F,G,H
C,D
D,F,G,H,I
el resultado final seria
Código:
A,B.B.C
.D,E
F,G,H
C,D
D.C,I
Por remplazar el F,G,H del registro D,F,G,H,I con su alias que es .C

etc etc

Cada registro lleva su alias alfabeticamente segun la insercion si se terminan los alfanumericos se empieza de nuevo con A0 etc



Lo que pasa es que justo antes de leer tu mensaje encontré otra solución que me sirve pero no es exactamente lo que pedía yo aquí.

O sea me di cuenta que si hago un union select y pongo al final todas las que llevan punto sirve para mi propósito


Código MySQL:
Ver original
  1. SELECT * FROM mi_tabla
  2. WHERE mi_columna NOT LIKE '%.%'
  3. SELECT * FROM mi_tabla
  4. WHERE mi_columna LIKE '%.%'
luego el remplazamiento lo hago por php.

No se si poner el tema como solucionado (aunque la solución no es del tema en si pero si del problema mio) pero me gustaría saber para aprender, si no te toma mucho tiempo cual seria la solución para mi pregunta inicial.

Gracias y saludos

Última edición por matake; 25/01/2016 a las 09:31