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é