Ver Mensaje Individual
  #11 (permalink)  
Antiguo 11/10/2008, 15:46
wolfxmen
 
Fecha de Ingreso: abril-2008
Mensajes: 51
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Consulta compljea

Cita:
Iniciado por jurena Ver Mensaje
He añadido la tabla ciclos y relacionado los datos. Ahora la consulta sería:
Código sql:
Ver original
  1. SELECT a.pnombre, a.snombre, a.papellido, a.sapellido, s.seccion, g.grado, c.ciclo, IF( SUM( IF(p.idmes = 1 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS enero, IF( SUM( IF( p.idmes = 2 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS febrero,
  2. IF( SUM( IF( p.idmes = 3 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS marzo,
  3. IF( SUM( IF( p.idmes = 4 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS abril,
  4. IF( SUM( IF( p.idmes = 5 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS mayo,
  5. IF( SUM( IF( p.idmes = 6 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS junio,
  6. IF( SUM( IF( p.idmes = 7 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS julio,
  7. IF( SUM( IF( p.idmes = 8 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS agosto,
  8. IF( SUM( IF( p.idmes = 9 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS septiembre,
  9. IF( SUM( IF( p.idmes = 10 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS octubre,
  10. IF( SUM( IF( p.idmes = 11 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS noviembre,
  11. IF( SUM( IF( p.idmes = 12 AND p.estado = 1, 1, 0 ) ) >0, 'X', '' ) AS diciembre
  12.  
  13. FROM alumnos a
  14. INNER JOIN pagos p ON a.idalumno = p.idalumno INNER JOIN secciones s ON a.idseccion = s.idseccion INNER JOIN grados g ON a.idgrado = g.idgrado INNER JOIN ciclos c ON c.id = p.idciclo
  15. WHERE g.idgrado = 1 AND s.idseccion = 1 AND c.ciclo = 2007
  16. GROUP BY a.idalumno

A mí me funciona perfectamente, pero comprueba que hay alguien con esos datos, con idgrado1, idsección1 y que tenga datos del año 2007. En la tabla ciclos he puesto un campo id y un campo ciclo.

Ya funciona y muy bien, te AGRADEZCO INFINITAMENTE el soporte que me diste para elaborar esta consulta.....

Quiza puediera dejarse este post fijo por algun espacio de tiempo donde los usuarios de la comunidad de foros del web pudieran verlo y aplicarlo en los proyectos que estuviesen desarrollando en Mysql....