Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2017, 12:37
jacajob
 
Fecha de Ingreso: abril-2011
Mensajes: 19
Antigüedad: 13 años, 10 meses
Puntos: 1
consulta Mysql

Buenas una consulta,
tengo una tabla que me almacena notas por clase para cada alumno con la siguiente estructura

Código:
CREATE TABLE `nota` (
	`codigo_matricula` INT(11) NOT NULL,
	`idalumno` CHAR(13) NOT NULL,
	`nota1` INT(3) NULL DEFAULT NULL,
	`n1` INT(2) NULL DEFAULT NULL,
	PRIMARY KEY (`codigo_matricula`, `idalumno`)
)
al realizar un select como el siguiente

Código:
SELECT idalumno, nota1,n1
    FROM nota order by idalumno



me genera el siguiente resultado

Código:
idalumno---nota1---n1
1------------60------10
1------------40------20
1------------90------0
2------------50------15
2------------80------0
2------------70------0

pero de esa manera no me sirve, lo que quiero es mostrar los datos de un mismo alumno en una fila y no en varias

logre realizar lo siguiente con esta consulta.

Código:
SELECT idalumno, GROUP_CONCAT(nota1,'-',n1)
    FROM nota
    GROUP BY idalumno
y el resultado es el siguiente


Código:
idalumno------GROUP_CONCAT
1------------60-10,40-20,90-0
2------------50-15,80-0,70-0

los agrupa en la fila, pero el grupo concatenado lo muestra en una sola columna y es ahí la pregunta ¿Como le puedo hacer para me los agregue por columnas, algo así.

Código:
idalumno-----c1--c2---c3---c4--c5--c6
1------------60--10---40---20--90--0
2------------50--15---80---0---70--0
o por lo menos así
Código:
idalumno------c1--c2---c3
1-------------60--40---90
2-------------50--80---70

cualquier orientación les agradeceré