Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/07/2017, 08:07
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta usando Swhit de mysql

prueba con algo como esto:

Código MySQL:
Ver original
  1. $sql ="SELECT est.codest AS id, GROUP_CONCAT(DISTINCT est.cedest) AS cedula, GROUP_CONCAT(DISTINCT est.pnomest) AS pNombre, GROUP_CONCAT(DISTINCT est.snomest) AS sNombre, GROUP_CONCAT(DISTINCT est.papeest) AS pApellido, GROUP_CONCAT(DISTINCT est.sapeest) AS sApellido, COUNT(pag.mespago) AS totalpagad,
  2.        
  3.        CASE pag.statuspago
  4.        WHEN 1 THEN GROUP_CONCAT(DISTINCT pag.mespago SEPARATOR ', ') END AS meses,
  5.        WHEN 2 THEN GROUP_CONCAT(DISTINCT pag.mespago SEPARATOR ', ') END  AS mesesvenc,
  6.        
  7. pag.becado, pag.montopago, pag.codnivel, pag.codgrado, pag.codturno, pag.codperiodo, pagospormora.cantmora, niveles.nivel, grados.grado, grados.seccion, turnos.turno, padres.cedpadre, padres.nompadre, padres.apepadre, periodoescolar.periodo, periodoescolar.mesesactivos, periodoescolar.interesmora FROM estudiantes est INNER JOIN pagos pag ON est.codest = pag.codest INNER JOIN padres ON padres.cedpadre = est.cedpadre INNER JOIN turnos ON turnos.codturno = pag.codturno INNER JOIN niveles ON niveles.codnivel = pag.codnivel INNER JOIN grados ON grados.codgrado = pag.codgrado INNER JOIN periodoescolar ON periodoescolar.codperiodo = pag.codperiodo LEFT JOIN pagospormora ON pagospormora.numcomprobante = pag.numcomprobante WHERE est.cedest = ? AND pag.codperiodo = ? AND (pag.statuspago = '1' OR pag.statuspago = '2') GROUP BY id";
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me