Tengo un campo en mi tabla, el cual quiero separar en varios campos pero conservando el ID al que pertenece.
Algo mas claro:
Mi tabla se llama TMP_VARIABLES_FORMULA
y tiene la siguiente estructura:
ID FORMULA
4 [NUMAUDEJE] [TOTAUDPLA]
5 {NUMTOTMETDISP} [NUMMETUSOINMPROP]
6 [NUMTOTMETDISP] {NUMMETUSOINMCOM} [NUMTOTMETDISP] [NUMMETUSOINMCOM] {NUMTOTMETDISP} {NUMMETUSOINMCOM}
7 [NUMTOTMETDISP] [NUMMETUSOINMARR]
8 [NUMMETARRUSADM] [NUMMETCOMUSADM] [NUMMETPROUSADM]
9 [NUMMETARRUSACAD] [NUMMETCOMUSACAD] [NUMMETCOMUSADM] [NUMMETPROUSADM]
necesito separar de la siguiente manera:
ID VARIABLE
4 [NUMAUDEJE]
4 [TOTAUDPLA]
........
6 [NUMTOTMETDISP]
6 {NUMMETUSOINMCOM]
6 {NUMTOTMETDISP}
6 [NUMMETUSOINMCOM]
6 {NUMTOTMETDISP}
6 {NUMMETUSOINMCOM
.................
y asi con cada uno de los campos, los resultados se guardarían en otra tabla.
Si notamos la separacion se podria lograr a traves de los espacios en blanco que existen, pero ademas hay que tener en cuenta que la cantidad de palabras es diferente.
Con esta sentencia logra encontrar la cantidad de palabras que existen, a lo cual si se coloca dentro de un ciclo se le colocaria hasta cantidad-1
sentencia:
SELECT (LENGTH(IND.FOR_ID_VAR_O_IND) - LENGTH(REPLACE(IND.FOR_ID_VAR_O_IND,' ',''))+1)
FROM TMP_VARIABLES_FORMULA
*****un ejemplo claro de esto:
El sigueinte ejemplo divide una cadena de texto utilizando como delimitador 'espacio' para separar las palabras y devolver un recorset que contiene una fila para cada palabra
select regexp_split_to_table('hola mundo como estas',E'\\s+') as
y el resultado es:
"hola"
"mundo"
"como"
"estas"
pero esto es en postgress pero en mi caso lo necesito para MYSQL exclusivamente, sin tener nada que ver con PHP ni nada, unicamente necesito separar dividir cadenas y devolver un recorset que contiene una fila para cada palabra pero paramotor de base de datos MYSQL, ya sea con un procedimiento almacenado.
desde ya gracias!