Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2012
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: Apr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 14
gulder Va por buen camino
ayuda con consulta mysql

hola foro como están espero que bien, necesito ayuda en la siguiente consulta que no se por donde cogerla tengo la siguiente tabla periodos calificados que tiene los siguientes campos :

Código SQL [-]
id_calificar_periodo  
cedula  
id_alumno  
id_sede  
d_jornada  
id_grado  
ID_GRUPO  
id_asignatura  
id_periodo  
ano_lectivo  
id_logro_1  
nota1
id_logro_2  
nota2
id_logro_3
nota3
id_logro_4
nota4  
definitiva  
fallas

lo que guarda esta tabla son las notas de las asignaturas cada grado de un colegio por periodos, para cada asignatura se pueden guardar como máximo 4 notas para calcular la definitiva por periodo, para que me entiendan mejor seria algo mas o menos asi

Código SQL [-]
 MATEMÁTICAS ,NOTA1, NOTA2, NOTA3, NOTA4, DEFINITIVA, PERIODO 1
MATEMATICAS NOTA1, NOTA2, NOTA3, NOTA4, DEFINITIVA, PERIODO 2
MATEMATICAS NOTA1, NOTA2, NOTA3, NOTA4, DEFINITIVA, PERIODO 3
MATEMATICAS NOTA1, NOTA2, NOTA3, NOTA4, DEFINITIVA, PERIODO 4

la consulta que yo quiero implementar es traer las definitivas de cada asignatura, de los cuatro periodos y su promedios seria algo como :

Código SQL [-]
MATEMÁTICAS,  definitiva_periodo_1,  definitiva_periodo_2,  definitiva_periodo_3, definitiva_periodo_4, promedio_los_periodos

con la siguiente consulta solo alcanzo a traer la definitiva del primer periodo pero no se como traer las definitivas de todos los periodos osea los 4 y su promedio

Código SQL [-]
SELECT per1.id_asignatura,per1.definitiva
   
FROM asignaturas

LEFT JOIN periodos_calificados AS per1 ON per1.id_periodo = '1'


WHERE per1.id_alumno ='31479151' AND
      per1.id_sede ='24' AND
      per1.id_jornada ='0' AND
      per1.id_grado ='5' AND
      per1.ID_GRUPO ='1' AND
      per1.ano_lectivo = '2012' 
   
GROUP BY per1.id_asignatura

gracias de antemano guldergan
Responder Con Cita
  #2  
Antiguo 07-07-2012
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: Apr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 14
gulder Va por buen camino
hola foro como están, creo que logre una parte de la consulta pero no se si es la mas optima, pero me hace falta la parte del promedio de las definitivas pero hay si no se como sera

Código SQL [-]
SELECT asignaturas.nombre_asignatura, 
       perio1.definitiva as periodo_1, 
       perio2.definitiva as periodo_2, 
       perio3.definitiva as periodo_3, 
       perio4.definitiva as periodo_4 
   
FROM asignaturas,
     periodos_calificados as perio1,
     periodos_calificados as perio2,
     periodos_calificados as perio3,
     periodos_calificados as perio4

WHERE perio1.id_alumno ='31479151' AND
      perio1.id_sede ='24' AND
      perio1.id_jornada ='0' AND
      perio1.id_grado ='5' AND
      perio1.ID_GRUPO ='1' AND
      perio1.ano_lectivo = '2012' AND
      perio1.id_asignatura = asignaturas.id_asignatura AND
      perio1.id_periodo = '1'  AND
      

      perio2.id_alumno = perio1.id_alumno AND
      perio2.id_sede = perio1.id_sede AND
      perio2.id_jornada = perio1.id_jornada  AND
      perio2.id_grado = perio1.id_grado AND
      perio2.ID_GRUPO = perio1.ID_GRUPO AND
      perio2.ano_lectivo = perio1.ano_lectivo AND    
      perio2.id_asignatura = perio1.id_asignatura  AND
      perio2.id_periodo = '2' AND

      perio3.id_alumno = perio1.id_alumno AND
      perio3.id_sede = perio1.id_sede AND
      perio3.id_jornada = perio1.id_jornada  AND
      perio3.id_grado = perio1.id_grado AND
      perio3.ID_GRUPO = perio1.ID_GRUPO AND
      perio3.ano_lectivo = perio1.ano_lectivo AND   
      perio3.id_asignatura = perio1.id_asignatura  AND
      perio3.id_periodo = '3' AND

      perio4.id_alumno = perio1.id_alumno AND
      perio4.id_sede = perio1.id_sede AND
      perio4.id_jornada = perio1.id_jornada  AND
      perio4.id_grado = perio1.id_grado AND
      perio4.ID_GRUPO = perio1.ID_GRUPO AND
      perio4.ano_lectivo = perio1.ano_lectivo AND
      perio4.id_asignatura = perio1.id_asignatura AND
      perio4.id_periodo = '4' 
      

GROUP BY asignaturas.nombre_asignatura


Código SQL [-]
ARTISTICA  3.83  3.8  2.0  2.5
BIOLOGIA  2.56  4.5  1.8  3.8
CASTELLANO  3.4  3.0  3.8  3.5
EDUCACION FISICA  4.3  4.0  2.8  3.0
GEOMETRIA  3.07  2.1  2.8  3.4
INFORMATICA  4.9  1.6  4.8  3.7
INGLES  2.8  3.85  2.8  2.8
MATEMATICA  5.0  4.5  5.0  2.4
RELIGION  3.8  3.7  1.8  3.7
SOCIALES  5.0  4.0  2.8  3.5

no se como hacer lo del promedio de las 4 definitivas alguna idea saludos gulder gan
Responder Con Cita
  #3  
Antiguo 07-07-2012
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: Apr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 14
gulder Va por buen camino
Hola foro como andan espero que bien, ya creo haber terminado la consulta pero quiero q me digan si es optima o no mi solución espero sugerencias:


Código SQL [-]
SELECT asignaturas.nombre_asignatura, 
       perio1.definitiva as periodo_1, 
       perio2.definitiva as periodo_2, 
       perio3.definitiva as periodo_3, 
       perio4.definitiva as periodo_4, 
       TRUNCATE((perio1.definitiva+perio2.definitiva+perio3.definitiva+perio4.definitiva)/4,2) as definitiva
   
FROM asignaturas,
     periodos_calificados as perio1,
     periodos_calificados as perio2,
     periodos_calificados as perio3,
     periodos_calificados as perio4

WHERE perio1.id_alumno ='31479151' AND
      perio1.id_sede ='24' AND
      perio1.id_jornada ='0' AND
      perio1.id_grado ='5' AND
      perio1.ID_GRUPO ='1' AND
      perio1.ano_lectivo = '2012' AND
      perio1.id_asignatura = asignaturas.id_asignatura AND
      perio1.id_periodo = '1'  AND
      
      perio2.id_alumno = perio1.id_alumno AND
      perio2.id_sede = perio1.id_sede AND
      perio2.id_jornada = perio1.id_jornada  AND
      perio2.id_grado = perio1.id_grado AND
      perio2.ID_GRUPO = perio1.ID_GRUPO AND
      perio2.ano_lectivo = perio1.ano_lectivo AND    
      perio2.id_asignatura = perio1.id_asignatura  AND
      perio2.id_periodo = '2' AND

      perio3.id_alumno = perio1.id_alumno AND
      perio3.id_sede = perio1.id_sede AND
      perio3.id_jornada = perio1.id_jornada  AND
      perio3.id_grado = perio1.id_grado AND
      perio3.ID_GRUPO = perio1.ID_GRUPO AND
      perio3.ano_lectivo = perio1.ano_lectivo AND   
      perio3.id_asignatura = perio1.id_asignatura  AND
      perio3.id_periodo = '3' AND

      perio4.id_alumno = perio1.id_alumno AND
      perio4.id_sede = perio1.id_sede AND
      perio4.id_jornada = perio1.id_jornada  AND
      perio4.id_grado = perio1.id_grado AND
      perio4.ID_GRUPO = perio1.ID_GRUPO AND
      perio4.ano_lectivo = perio1.ano_lectivo AND
      perio4.id_asignatura = perio1.id_asignatura AND
      perio4.id_periodo = '4'
Responder Con Cita
  #4  
Antiguo 07-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.094
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gulder Ver Mensaje
Hola foro como andan espero que bien, ya creo haber terminado la consulta pero quiero q me digan si es optima o no mi solución espero sugerencias:
Hola, si la consulta devuelve los datos que necesitas y además es rápida, entonces sí es óptima
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta de MySQL noob MySQL 8 20-10-2008 19:13:00
Ayuda con una consulta de MySQL desde Delphi con ZeosLib...!! NeySmall Varios 3 17-04-2008 22:22:50
mysql una consulta que no me sale Gaim2205 SQL 1 24-02-2008 14:14:49
realizar consulta mysql fernando1973 SQL 4 03-05-2007 14:18:15
consulta a mysql jfontane PHP 2 10-06-2003 19:11:57


La franja horaria es GMT +2. Ahora son las 11:15:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi