Hola a todos!
Espero que me puedan ayudar con esta consulta que quiero hacer:
Tengo la tabla notas con la siguiente info:
Legajo________Examen____________Nota
100______________A_______________6
100______________B_______________9
100______________C_______________4
200______________A_______________7
200______________C_______________8
300______________A_______________1
300______________B_______________8
300______________C_______________3
400______________Z_______________9
etc...
Y en php tengo esta variable que me dice el legajo del alumno logueado: $usu_logueado=100
La 1° consulta que deseo hacer es:
Cantidad de examenes en comun con $usu_logueado y con diferencia de nota < 2: Código PHP:
SELECT examen,legajo,nota,usu.nota nota_logueado,count(notas.legajo) as cant1
FROM notas
LEFT JOIN
(SELECT legajo,examen,nota
FROM notas
WHERE legajo='$usu_logueado') usu
ON notas.examen=usu.examen
WHERE notas.legajo <> '$usu_logueado'
AND ABS(notas.nota - usu.nota) <'2'
AND notas.examen IN
(SELECT examen FROM notas WHERE legajo = '$usu_logueado')
GROUP BY legajo ORDER BY cant DESC,legajo;
Esta consulta me arroja este resultado:
Legajo-----------cant1
200--------------1
300--------------2
La 2° consulta que deseo hacer es:
Cantidad de examenes en comun con $usu_logueado: Código PHP:
SELECT examen,legajo,nota,usu.nota nota_logueado,count(notas.legajo) as cant2
FROM notas
LEFT JOIN
(SELECT legajo,examen,nota
FROM notas
WHERE legajo='$usu_logueado') usu
ON notas.examen=usu.examen
WHERE notas.legajo <> '$usu_logueado'
AND examen IN
(SELECT examen FROM notas WHERE legajo = '$usu_logueado')
GROUP BY legajo ORDER BY cant DESC,legajo;
Esta consulta me arroja este resultado:
Legajo-----------cant2
200--------------2
300--------------3
Yo quisiera obtener esta informacion en 1 sola consulta, asi:
legajo---------------cant---------------cant2
200-----------------1____________________2
300-----------------2____________________3
Entiendo que hay que usar LEFT JOIN, pero no me esta saliendo. Me pueden orientar?!
Gracias!