Comunidad de diseño web y desarrollo en internet online

Cambiar la estructura de almacenamiento

Citar            
MensajeEscrito el 16 Ago 2008 12:30 am
Estoy guardando una serie de datos de manera vertical en una tabla, en otras palabras, cada dato representaría una fila en la tabla y se identificaría el tipo de dato mediante un campo adicional. Pero al momento de procesarlos, es mucho más sencillo si los datos se encuentran de manera horizontal, cada uno como una columna en una tabla.

No quiero almacenar los datos de manera horizontal directamente porque serían demasiadas columnas, quisiera saber si hay alguna consulta o método que pueda leer la tabla con los datos verticales y guardarlos en una tabla con los datos horizontalmente. Si alguien ha hecho algo parecido o conoce algún procedimiento que haga algo parecido, me gustaría que me informaran al respecto.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 16 Ago 2008 04:05 am
hola ... porque no los metes a un arreglo y haces con ellos lo que quieras ?

Por alffa

276 de clabLevel



 

Mi casa o mi trabajo...depende (México)

msie7
Citar            
MensajeEscrito el 16 Ago 2008 04:51 am
Hola, lo del arreglo sería una solución, pero con este sistema queríamos reducir el trabajo del lenguaje servidor y mantener el procesamiento de los datos del lado de MySQL. Esto es porque queríamos buscar la manera de conectar diferentes clientes, en distintos lenguajes, a la base de datos.

Por otro lado me han sugerido una consulta de este tipo:

Código MySQL :

select dato1.campo,
dato2.campo,
dato3.campo
from (select campo from tablavertical where id_campo = 'x') dato1,
(select campo from tablavertical where id_campo = 'y') dato2,
(select campo from tablavertical where id_campo = 'z') dato3 


y creo que puede hacer lo que ando buscando, luego les cuento como me fue

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 16 Ago 2008 08:43 pm

Odin escribió:

Hola, lo del arreglo sería una solución, pero con este sistema queríamos reducir el trabajo del lenguaje servidor y mantener el procesamiento de los datos del lado de MySQL. Esto es porque queríamos buscar la manera de conectar diferentes clientes, en distintos lenguajes, a la base de datos.

Por otro lado me han sugerido una consulta de este tipo:

Código MySQL :

select dato1.campo,
dato2.campo,
dato3.campo
from (select campo from tablavertical where id_campo = 'x') dato1,
(select campo from tablavertical where id_campo = 'y') dato2,
(select campo from tablavertical where id_campo = 'z') dato3 


y creo que puede hacer lo que ando buscando, luego les cuento como me fue


Yo tengo una opción mas c00l.


Código :

select GROUP_CONCAT(dato1.campo SEPARATOR ',') AS Datos
 from  tablavertical 
where id_campo = 'x' OR id_campo = 'y'
OR id_campo = 'z'


Datos contendría algo así:
1,6,5,8,4,6

Te regresará todas las columnas en el campo Datos. Cada columna estará separada por una coma, ya nada mas en PHP, le haces un simple explode(o lo que quieras) y listo.

Saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 18 Ago 2008 06:10 pm
prueba un join ahora no recuerdo como funcan pero es una buena soluciuon

Por talcual

686 de clabLevel



 

Colombia

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.