tengo 3 tablas , vote,usuarios,obras. y mi quiery sql es el siguiente :
Código:
el problema es que votos_totales no arroja los valores que debiera mostrar. los usuarios que no tienen votos aparecen valores totales extrañisimos 38, 45, 35, depèndiendo del usuario, siendo que el valor deberia ser cero." SELECT usuarios.id, usuarios.nombre,Avg(vote.voteValue) AS promedio, count(vote.voto_id) as votos_totales FROM usuarios LEFT JOIN vote on usuarios.id = vote.cual_usr INNER JOIN obras on usuarios.id = obras.cual_usr GROUP BY usuarios.id ORDER BY promedio DESC , votos_totales DESC , usuarios.nombre ASC"
ahora esto lo resolvi sacando el inner de obras , ahi funciona perfecto, el problema es que lista todos los registros de usuarios, incluso los que no tienen obras asociadas, que es lo que no quiero que ocurra.
si alguien le ha pasado algo similar agradecería mucho que escribiera por aqui!
Saludos
Hola , editando....
mmm al parecer el problema esta en que en ves de listar la cantidad de votos , me hace un count de obras asociadas con el usuario ....
creo que eso puede ser porque los nombres de algunos campos son iguales.
LEFT JOIN vote on usuarios.id = vote.cual_usr
INNER JOIN obras on usuarios.id = obras.cual_usr
obras.cual_usr
vote.cual_usr
mmm .. editando otra vez,
cambie el nombre del campo de vote a vote.cual_usr_es, pero me sigue dando el valor de la cantidad de obras asociadas y no de votos asociados cuando hago el count.....
voy a cambiar los nombres de campos y veré que pasa