Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2012, 11:38
pablokru
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 84
Antigüedad: 13 años, 5 meses
Puntos: 2
Pregunta Como unir estas 2 consultas en 1 sola?

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!