Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/05/2015, 15:14
Avatar de emilio_viguri
emilio_viguri
 
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 117
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Consulta con LEFT JOIN no muestra datos

Otra ves tengo problemas con la consulta me podrían ayudar en las mismas tablas lo que dice esta consulta es:

Mostrarme todos los alumnos que ESTÉN ACTIVOS, con una fecha de pago vencido entre 27 y 37 días O que no tengan pago algun pago...

pero lo que no me sale es indicarle que ignore los pagos de tipo 1 y solo muestre los de tipo 2 eso es lo que no puedo encontrar como se hace en la tabla de pago!

Código SQL:
Ver original
  1. SELECT alumno.idalumno, alumno.nombre, alumno.nivelescolar, alumno.sexo, pago.tipo FROM alumno LEFT JOIN pago ON pago.idalumno = alumno.idalumno
  2. WHERE alumno.activo = 1
  3. AND ( DATEDIFF(CURDATE(), pago.fechavencimiento ) >= 27
  4. AND DATEDIFF(CURDATE(), pago.fechavencimiento ) <= 37
  5. OR pago.fechadeposito IS NULL )
  6. AND (pago.tipo = 2 OR pago.tipo IS NULL)
  7. ORDER BY alumno.nombre

Modifique cobro por pago

Código SQL:
Ver original
  1. CREATE TABLE pago (
  2.   idpago INT(11) NOT NULL AUTO_INCREMENT,
  3.   idalumno INT(11) NOT NULL,
  4.   tipo TINYINT(1) UNSIGNED NULL,
  5.   monto FLOAT(10,2) NULL,
  6.   comentario VARCHAR(200) NULL,
  7.   fechadeposito DATE NULL,
  8.   fechavencimiento DATE NULL,
  9.   fecharegistro DATETIME NULL,
  10.   PRIMARY KEY(idpago),
  11.   INDEX cobro_FKIndex1(idalumno)
  12. );