Que tal muchachos, tengo una duda ...
Tengo este query
Código MySQL:
Ver original a.idAlumno,
nombre,
aPaterno,
aMaterno,
ap.matricula,
m.matricula total,
(m.matricula-ap.matricula) debe
ON a.idAlumno
= ap.idAlumno
ON m.idMatricula
= ap.idMatricula
;
Que trae la tabla alumno, alumnopago, y matricula
En matricula yo guardo el monto que tiene cada periodo, es decir durante el año se pagan dos veces la matricula, para el perido I y el periodo II.
Ahora en la tabla AlumnoPago yo guardo la cantidad que esta pagando, y uno la tabla AlumnoPago con Matricula con el campo ambiguo idMatricula, de esta manera yo puedo saber a que periodo pertenece ese pago, y cuanto es lo que tiene que pagar
Y la tabla alumno la relaciono con alumnopago con el campo idAlumno, al ejecutar mi query y no habiendo registros en alumnopago, no trae nada, por mas que uso leftjoin, es decir si usara INNER JOIN estoy diciendole que la relacion deberia existir estrictamente, pero con LEFT JOIN le digo lo contrario, que traiga a partir de lo que hay a la izquierda no, osea partiendo de alumnos, y al final no me trae nada, pero cuando corro este query si me trae algo
Código MySQL:
Ver original a.idAlumno,
nombre,
aPaterno,
aMaterno,
ap.matricula,
m.matricula total,
(m.matricula-ap.matricula) debe
ON a.idAlumno
= ap.idAlumno
;
Ya me trae lo de la izquierda, estos querys yo los corro normal en SQLServer 2008, no e tenido problemas, o acaso tnego que crear la relacion previamente para usar correctamente los INNER Y LEFT JOIN, ya que no e creado clave foraneas.