Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] calichet referencias cruzadas

Estas en el tema de calichet referencias cruzadas en el foro de Mysql en Foros del Web. Buenas tardes: Estoy trabajando Mysql 5.5.27 con xampp para un colegio, como tal se tiene la estructura de los horarios así: id, id_sede, id_curso, id_jornada, ...
  #1 (permalink)  
Antiguo 19/03/2013, 13:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 23
Antigüedad: 15 años, 1 mes
Puntos: 0
calichet referencias cruzadas

Buenas tardes:

Estoy trabajando Mysql 5.5.27 con xampp para un colegio,
como tal se tiene la estructura de los horarios así:

id,
id_sede,
id_curso,
id_jornada,
hora,
inicio,
fin,
duracion,
dia,
materia

inicio es la hora de inicio de la clase,
día es: 0-Lunes, 1-martes, 2-miércoles......,
Materia es el código de la materia,

se debe presentar una "matriz" con el horario, pero....

aunque los ejercicios en access con transform -- pivot funcionan

TRANSFORM First(materia.descripcion) AS PrimeroDedescripcion
SELECT horario.[inicio]
FROM horario INNER JOIN materia ON horario.materia = materia.id
GROUP BY horario.[inicio]
PIVOT horario.[dia];

se requiere que sea para mysql.

Por favor, Alguien podría orientarme acerca de como "homologar" la tabla de referencias cruzadas de access con mysql... gracias

Realmente lo estoy necesitando...
  #2 (permalink)  
Antiguo 19/03/2013, 13:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 23
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: calichet referencias cruzadas

Me respondo a mi mismo y mando solución por si alguien la necesita o por lo menos una opción:

SELECT
horario.inicio,
MAX(IF(horario.dia = 0, materia.descripcion, NULL)) AS Lunes,
MAX(IF(horario.dia = 1, materia.descripcion, NULL)) AS Martes,
MAX(IF(horario.dia = 2, materia.descripcion, NULL)) AS Miercoles,
MAX(IF(horario.dia = 3, materia.descripcion, NULL)) AS Jueves,
MAX(IF(horario.dia = 4, materia.descripcion, NULL)) AS Viernes,
MAX(IF(horario.dia = 5, materia.descripcion, NULL)) AS Sabado
FROM horario INNER JOIN materia ON horario.materia = materia.id
GROUP BY horario.inicio


Espero sirva a alguien
  #3 (permalink)  
Antiguo 19/03/2013, 13:55
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: calichet referencias cruzadas

Hola calichet:

Hay mucha gente (y me incluyo) que nunca hemos trabajado con Access y no sé a qué te refieres con "referencias cruzadas"... Es conveniente que nos pongas algunos datos de ejemplo de tu tabla y nos digas qué es lo que quieres obtener como resultado, así será más fácil decirte si se puede hacer con MySQL y cómo se puede hacer.

Saludos
Leo.

Etiquetas: pivot
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:58.