Tengo problemas en una query MySQL para mostrar varias fechas en una fila
Publicado por Juan (32 intervenciones) el 03/04/2019 18:19:45
Chicos, aca dando vueltas nuevamente con una consulta SQL, resulta que tengo 2 tablas: en la tabla "cursos" guardo los datos relacionados con un curso, aca les dejo la foto,
y en la tabla "jornadas_curso" guardo las fechas de cada curso, ya que cada curso puede tener mas de 1 fecha, esta es la tabla:
En la pagina principal muestro por array cada curso, con su fecha y jornada, sin embargo, si un curso tiene mas de 1 fecha, solo me muestra 1 fecha...
La consulta SQL que ocupo para consultar por los cursos es este:
Lo coloque como group by nombre_curso, ya que si un curso tenia mas de 1 fecha, aparecia mas de 1 fila con el nombre de curso repetido pero diferentes fechas...
El resultado actualmente de mi query en mysql es este:
Lo que necesito es que, por cada fila, me muestre el nombre del curso, sus datos y todas sus fechas disponibles, algo asi:
También probé colocando GROUP_CONCAT para el campo Fechas_Cursos así:
Y me dio este resultado en el phpmyadmin:
¿Que me falta en la query SQL?, muchas gracias por cualquier ayuda...
y en la tabla "jornadas_curso" guardo las fechas de cada curso, ya que cada curso puede tener mas de 1 fecha, esta es la tabla:
En la pagina principal muestro por array cada curso, con su fecha y jornada, sin embargo, si un curso tiene mas de 1 fecha, solo me muestra 1 fecha...
La consulta SQL que ocupo para consultar por los cursos es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
cursos.nombre_curso, cursos.id_curso,
DATE_FORMAT( jornadas_curso.fechas_curso, '%d/%m/%y' ) AS Fechas_Cursos,
jornadas_curso.horario_curso,
jornadas_curso.tipo_jornada,
cursos.id_relator,
cursos.descripcion,
cursos.vacantes,
cursos.ubicacion
FROM cursos
INNER JOIN jornadas_curso ON jornadas_curso.id_curso = cursos.id_curso
AND disponible = 'si'
AND vacantes >0
AND fechas_curso > NOW( )
GROUP BY nombre_curso
ORDER BY fechas_curso DESC
Lo coloque como group by nombre_curso, ya que si un curso tenia mas de 1 fecha, aparecia mas de 1 fila con el nombre de curso repetido pero diferentes fechas...
El resultado actualmente de mi query en mysql es este:
Lo que necesito es que, por cada fila, me muestre el nombre del curso, sus datos y todas sus fechas disponibles, algo asi:
También probé colocando GROUP_CONCAT para el campo Fechas_Cursos así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT cursos.nombre_curso,
cursos.id_curso,
GROUP_CONCAT( jornadas_curso.fechas_curso + ' -- ' ) AS Fechas_Curso,
jornadas_curso.horario_curso,
jornadas_curso.tipo_jornada,
cursos.id_relator,
cursos.descripcion,
cursos.vacantes,
cursos.ubicacion
FROM cursos
INNER JOIN jornadas_curso ON jornadas_curso.id_curso = cursos.id_curso
AND disponible = 'si'
AND vacantes >0
AND fechas_curso > NOW( )
GROUP BY nombre_curso
ORDER BY fechas_curso ASC
Y me dio este resultado en el phpmyadmin:
¿Que me falta en la query SQL?, muchas gracias por cualquier ayuda...
Valora esta pregunta
0