Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/07/2007, 09:03
michelson
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 18 años, 2 meses
Puntos: 0
inner join y left join en la misma consulta no me funciona, pierdo datos

Hola amigos llevo mucho tiempo trabajando en una consulta sql la cual aun no puedo resolver


hice un sistema de rankins donde los usuarios que tengan al menos una imagen relacionada y que ademas esten bajo la media de la cantidad de votos pueden aparecer en el listado...

por eso debo relacionar 3 tablas:

tengo 3 tablas , imagenes , usuarios, votos

y mi consulta es la siguente sql... (mi idea es hacer un inner join a los usuarios que tengan al menos una imagen, y luego un left join para que me muestre todos los usuarios, los que tienen votos y los que no, luego hacer un having donde solo seleccione a los usuarios que tienen los votos bajo la media , que en este caso vale 2 )


Código PHP:
SELECT usuarios.idusuarios.nombre,Avg(vote.voteValue) AS promediocount(vote.voto_id) as votos_totales
FROM usuarios
LEFT JOIN vote on  usuarios
.id =  vote.quien
INNER JOIN imagenes on usuarios
.id imagenes.quien_usr
GROUP BY usuarios
.id
HAVING votos_totales 
'2'
ORDER BY promedio DESC votos_totales DESC usuarios_artistas.nombre  ASC 
el problema es que no me toma el valor de los votos totales me sale 0

pero si le quito la linea
Código PHP:
INNER JOIN imagenes on usuarios.id imagenes.quien_usr 
me toma el valor de los votos, pero asi me muestra a los usuarios que no tienen imagenes, lo cual no sirve, he probado poner el inner join primero y el left join despues, pero nada...

ojla puedan hechar una mirada al problema


por favor agradeceré mucho la ayuda
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike