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

de filas a columnas

Estas en el tema de de filas a columnas en el foro de Mysql en Foros del Web. Hola, he estado buscando la forma de llamar una lista de registros y cada valor posicionarlo en una columna, pero no se como relacionar los ...
  #1 (permalink)  
Antiguo 04/04/2010, 16:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 18 años, 3 meses
Puntos: 0
de filas a columnas

Hola, he estado buscando la forma de llamar una lista de registros y cada valor posicionarlo en una columna, pero no se como relacionar los registros por separado, tengo las siguientes tablas:

>>puntuaciones
id_usuario | id_partida | puntuacion
ag576 | 1829 | 587
ag576 | 1324 | 1984

>> usuarios
id_usuario | nombre_usuario
ag576 | Fulanito burrito

y me gustaría poder llamar la sentencia mas o menos así:
Código:
SELECT usuarios.id_usuario AS id,usuarios.nombre_usuario AS nombre,puntuaciones.puntuacion AS partida1,puntuaciones.puntuacion AS partida2
FROM usuarios,puntuaciones
WHERE usuarios.id_usuario = puntuaciones.id_usuario
y que eso resultara así:

id | nombre | partida1 | partida2
ag576 | Fulanito Burrito | 587 | 1984

Espero haberme hecho entender, la idea es que cada puntuación pueda aparecer en una columna diferente, acepto sugerencias. gracias.
  #2 (permalink)  
Antiguo 04/04/2010, 17:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: de filas a columnas

Asumiendo que en la tabla puntuaciones solo tendrá 2 valores para cada id_usuario podrías hacer esto.


Código MySQL:
Ver original
  1. usuarios.id_usuario AS id,
  2. usuarios.nombre_usuario AS nombre,
  3. min(puntuaciones.puntuacion) AS partida1,
  4. max(puntuaciones.puntuacion) AS partida2
  5. FROM usuarios
  6. puntuaciones
  7. usuarios.id_usuario = puntuaciones.id_usuario
  8. group by puntuaciones.id_usuario;

No lo he probado
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 04/04/2010, 21:04
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: de filas a columnas

no, los 2 valores solo eran un ejemplo, puede haber hasta unos 20 valores
  #4 (permalink)  
Antiguo 04/04/2010, 21:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: de filas a columnas

Si es así, no lo puedes hacer apartir de una consulta.

Esto lo tendrías que resolver desde la aplicación o bien, haciendo una función o procedimiento que te genere dinamicamente la consulta.

Yo optaría por listar la información requerida en cualquier formato (No el de columnas precisamente) y después le daría la apariencia que quisiera desde la aplicación.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 04/04/2010, 21:47
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: de filas a columnas

Demonios, de veras hace falta una forma de hacer eso, he visto la misma necesidad reiteradas veces.

Muchas gracias por tu tiempo.
  #6 (permalink)  
Antiguo 05/04/2010, 05:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: de filas a columnas

Cita:
Iniciado por xyrer Ver Mensaje
Demonios, de veras hace falta una forma de hacer eso, he visto la misma necesidad reiteradas veces.

Muchas gracias por tu tiempo.
Algunoc DBMS le ponen extensiones al SQL para agregar esas funcionalidades, pero no lo tienen ni todos ni está estandarizado, porque lo que necesitas no pertenece al SQL, sino a las capacidades añadidas por esos DBMS.
Normalmente se puede hacer fácilmente por medio de programación de aplicaciones, especialmente en PHP, por lo que mi msugerencia es que consultes en el Foro PHP
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 05/04/2010, 08:44
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: de filas a columnas

si, pues lo había hecho con php de una forma muy artesanal, pero requiere de muchisimas comprobaciones y controles de errores, quería agotar el recurso de poder hacerlo directamente desde mysql para asegurarme de la integridad de los datos. gracias por la aclaración.

Etiquetas: columnas, filas
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 13:43.