ueno, pues aquí va mi pregunta. Si yo tengo esta tabla creada (que por cierto, creo que se ve horrible puesta así... intenten copiar y pegar mi texto en GEdit o el Bloc de Notas y se verá mejor..pienso yo):
Código:
mysql> select * from 'tabla';
+------+--------+-----------+--------------+
| id | nombre | actividad | dia_semana |
+------+--------+-----------+--------------+
| 1 | jose | karate | lunes |
| 2 | maria | ballet | miercoles |
| 3 | manuel | plastica | viernes |
| 4 | jesus | futbol | lunes |
| 5 | rocio | ballet | lunes |
| 6 | laura | karate | miercoles |
| 7 | sergio | plastica | viernes |
| 8 | jorge | futbol | lunes |
+------+--------+-----------+--------------+
8 rows in set (0.00 sec)
y quiero conseguir esto:
Código:
+----------------------+----------------------------------------------+
| actividad/dia_semana | lunes | miercoles | viernes |
+----------------------+----------------------------------------------+
| karate | jose | laura | |
| ballet | rocio | maria | |
| plastica | | | manuel , sergio |
| futbol | jesus , jorge | | |
+---------------------------------------------------------------------+
Sabiendo que Siempre en el mismo día y misma actividad, SÓLO concurren 2 niños por actividad, nunca más niños. Pero en un futuro tambien estarán el resto de días de la semana ocupados, no solo esos tres del ejemplo.
yo sólo he conseguido esto:
Código:
mysql> select 'actividad' , if(MAX('nombre')=MIN('nombre') , 'nombre' , CONCAT(MAX('nombre'), ' , ', MIN('nombre'))) AS alumnos
-> FROM 'tabla'
-> GROUP BY 'actividad';
+----------------+----------------+
| actividad | alumnos |
+----------------+----------------+
| karate | jose , laura |
| ballet | rocio , maria |
| plastica | manuel, sergio |
| futbol | jesus , jorge |
+----------------+----------------+
4 rows in set (0.00 sec)
Espero puedan ayudarme, mil gracias.