Ver Mensaje Individual
  #14 (permalink)  
Antiguo 25/07/2017, 08:01
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta usando Swhit de mysql

Hola elsaiya:

La idea general de lo que quieres hacer, es correcta, sin embargo, tienes un problema ya que en un estudiante puede tener pagos vencidos, pagos realizados y no tener pagos al mismo tiempo, al utilizar una función GROUP_CONCAT entonces los resultados puden ser null (una concatenación de un null da como resultado un null).

Lo que tienes que hacer es "consolidar" tus resultados como subconsultas, para no mezclar cada tipo, es decir, algo así:

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     ->   est.codest id,
  3.     ->   est.cedest cedula,
  4.     ->   est.pnomest pNombre,
  5.     ->   est.snomest sNombre,
  6.     ->   est.papeest pApellido,
  7.     ->   est.sapeest sApellido,
  8.     ->   pag.mesespag,
  9.     ->   venc.mesesvenc
  10.     -> FROM
  11.     ->   estudiantes est
  12.     -> LEFT JOIN
  13.     ->   ( SELECT
  14.     ->       codest,
  15.     ->       CASE WHEN statuspago = 1 THEN GROUP_CONCAT(DISTINCT mespago SEPARATOR ', ') END mesespag
  16.     ->     FROM  pagos
  17.     ->     WHERE statuspago = '1'
  18.     ->     GROUP BY codest ) pag ON pag.codest = est.codest
  19.     -> LEFT JOIN
  20.     ->   ( SELECT
  21.     ->       codest,
  22.     ->       CASE WHEN statuspago = 2 THEN GROUP_CONCAT(DISTINCT mespago SEPARATOR ', ') END mesesvenc
  23.     ->     FROM  pagos
  24.     ->     WHERE statuspago = '2'
  25.     ->     GROUP BY codest ) venc ON venc.codest = est.codest;
  26. +-----------+----------+-----------------+----------+------------+------------+----------------------------------------+------------+
  27. | id        | cedula   | pNombre         | sNombre  | pApellido  | sApellido  |mesespag                                | mesesvenc  |
  28. +-----------+----------+-----------------+----------+------------+------------+----------------------------------------+------------+
  29. | A19EF297C | 21123456 | RAFAEL DE JESUS |          | CONTRERAS  | QUINTERO   |02, 03, 04, 05                          | 06, 07     |
  30. | A20E28C51 | 24453445 | ALEXANDER       |          | ROJAS      | CABALLERO  |02, 03, 04                              | 05, 06, 07 |
  31. | A412A2046 | 29587496 | MARIA           | JOSE     | CONTRERAS  | MARQUEZ    |02, 03, 04, 05, 06                      | 07         |
  32. | A02409930 | 27541237 | CARLOS          |          | VARGAS     | NAVI       |02, 03, 04, 05, 06, 07, 08, 09, 10, 11  | NULL       |
  33. | A1A407ACA | 21456234 | RUBEN           | DARIO    | CHIRINOS   | PAREDES    |02, 03, 04, 05, 06, 07                  | NULL       |
  34. | A2146E2E7 | 21456789 | DIGMAR          |          | PAREDES    |            |02, 03, 04, 05, 06, 07, 08              | NULL       |
  35. | A4DEC5D92 | 25678354 | LUIS            | FERNANDO | VALENZUELA | GUTIERREZ  |NULL                                    | NULL       |
  36. | A59B5F192 | 18633189 | RICHARD         | JOSUE    | CHIRINOS   | BELLO      |NULL                                    | NULL       |
  37. | A81C20092 | 98981212 | CARMEN          | BOLIVIA  | MONTENEGRO | NUÑEZ     |NULL                                    | NULL       |
  38. | A9D8DBE61 | 25654321 | LENIN           | JOSE     | VIERA      | RODRIGUEZ  |NULL                                    | NULL       |
  39. | AB0D62A90 | 19876509 | CARLITOS        |          | VALENZUELA | VILLANUEVA |NULL                                    | NULL       |
  40. | ABC12462F | 55667788 | SIMÓN          |          | IRIARTE    | MUÑOZ     |NULL                                    | NULL       |
  41. | AC65CB66B | 897632   | LIDIA           | LUZ      | MAMANI     | QUISPE H   |NULL                                    | NULL       |
  42. | ACC809A2B | 24984672 | LEIDIMAR        | JOSE     | VIERA      | RODRIGUEZ  |NULL                                    | NULL       |
  43. | AD1B10315 | 12345555 | RAMON           | JOSE     | GUTIERREZ  | PEREZ      |NULL                                    | NULL       |
  44. | AED430736 | 18633175 | MOISES          | RODOLFO  | CHIRINOS   | LEAL       |NULL                                    | NULL       |
  45. | AF2C9EFE5 | 5601253  | DENIS           |          | OHARA      | ANTEZANA   |NULL                                    | NULL       |
  46. +-----------+----------+-----------------+----------+------------+------------+----------------------------------------+------------+
  47. 17 rows in set (0.00 sec)

Haz la prueba y nos comentas.

Salud