Código:
y quiero conseguir esto: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)
Código:
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.+----------------------+----------------------------------------------+ | actividad/dia_semana | lunes | miercoles | viernes | +----------------------+----------------------------------------------+ | karate | jose | laura | | | ballet | rocio | maria | | | plastica | | | manuel , sergio | | futbol | jesus , jorge | | | +---------------------------------------------------------------------+
yo sólo he conseguido esto:
Código:
Espero puedan ayudarme, mil gracias. 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)