Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/03/2012, 11:18
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consulta con promedios y porcentajes.

Sigues sin decirme de que tabla sale el campo MateriaGrupoCompet ni el campo PeriodoCompet. Voy a suponer que es el idMateria de tbCompetencia y que PeriodoCompet tambien esta en esa tabla.

En una sola consulta el tema esta complicado, se puede llegar a los resultados parciales o al final, pero a todos....

DatosBase
Código MySQL:
Ver original
  1. SELECT tbCompetencia.idComp,
  2.            tbCompetencia.Definicion AS Competencia,
  3.            tbCompetencia.Porcentaje/100 AS PCompetencia,
  4.            tbIndicadores.idInd, tbIndicadores.Definicion AS Indicador,
  5.            tbIndicadores.Porcentaje/100 AS PIndicador, tbNotas.Nota,
  6.            tbCompetencia.idMateria,
  7.            tbNotas.idAlum,
  8.            tbCompetencia.PeriodoCompet
  9. FROM (tbCompetencia
  10.               INNER JOIN tbIndicadores
  11.                   ON tbCompetencia.idComp = tbIndicadores.idComp)
  12.               INNER JOIN tbNotas
  13.                   ON tbIndicadores.idInd = tbNotas.idIndic
  14. WHERE tbCompetencia.idMateria=1
  15.     AND tbNotas.idAlum=256
  16.     AND tbCompetencia.PeriodoCompet=1;


NotasComptencia (usa DatosBase)
Código MySQL:
Ver original
  1. SELECT DatosBase.idMateria,
  2.            DatosBase.idAlum,
  3.            DatosBase.PeriodoCompet,
  4.            DatosBase.idComp,
  5.            DatosBase.Competencia,
  6.            DatosBase.PCompetencia,
  7.            Sum([PIndicador]*[Nota]) AS NotaCompetencia
  8. FROM DatosBase
  9. GROUP BY DatosBase.idMateria,
  10.               DatosBase.idAlum,
  11.               DatosBase.PeriodoCompet,
  12.               DatosBase.idComp,
  13.               DatosBase.Competencia,
  14.               DatosBase.PCompetencia;

Usando NotasComptencia
Código MySQL:
Ver original
  1. SELECT NotasComptencia.idMateria,
  2.   Sum(NotasComptencia.PCompetencia*NotasComptencia.NotaCompetencia) AS NotaMateria
  3. FROM NotasComptencia
  4. GROUP BY NotasComptencia.idMateria;

Puedes armar uns super consulta que te de el ultimo de los resultados pero no todos a la vez...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.