Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda con JOINS!!

Estas en el tema de Ayuda con JOINS!! en el foro de Bases de Datos General en Foros del Web. soy nuevo con el uso de los joins, mas o menos ya les agarre la mano, pero aca hay algo que me tiene loco y ...
  #1 (permalink)  
Antiguo 16/08/2005, 14:42
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
Ayuda con JOINS!!

soy nuevo con el uso de los joins, mas o menos ya les agarre la mano, pero aca hay algo que me tiene loco y no entiendo:

SELECT a.*, AVG(b.pts) AS promedio, COUNT(c.id_rep) AS cant_com FROM ".tablaReplays." a LEFT JOIN ".tablaRatingReplays." b ON b.id_rep = a.id LEFT JOIN ".tablaComentariosReplays." c ON a.id = c.id_rep WHERE a.top = 1 GROUP BY a.id ORDER BY a.id DESC LIMIT ".cantTopReps;


en algunos casos el COUNT me devuelve un numero incorrecto! cuando tiene que contar 2 me cuenta 4!! como es posible eso??? hay algo mal??

y otra pregunta, es lo mismo hacer esto:

..... FROM ".tablaReplays." a LEFT JOIN ".tablaRatingReplays." b ON b.id_rep = a.id LEFT JOIN ".tablaComentariosReplays." c ON a.id = c.id_rep

que esto?

..... FROM ".tablaReplays." a LEFT JOIN ".tablaRatingReplays." b LEFT JOIN ".tablaComentariosReplays." c ON a.id = c.id_rep AND b.id_rep = a.id

Gracias!!!
  #2 (permalink)  
Antiguo 17/08/2005, 10:33
Avatar de sir_joshua  
Fecha de Ingreso: diciembre-2004
Mensajes: 411
Antigüedad: 19 años, 4 meses
Puntos: 0
mmm tu problema imagino radica en a.* si en vez de eso pones a.id o algun campo especifico de la tabla a, que pasa..?


y respecto a lo de los FROM ... no es lo mismo el primero hace el join entre las primeras dos tablas y el resultado lo une con la tercera... y el segundo FROM hace la union entre la tabla 2 y 3 y el resultado lo une con la 1.

salu2.
__________________
http://sir-joshua.hi5.com
Mex. Mex.
  #3 (permalink)  
Antiguo 17/08/2005, 13:23
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
mm gracias voy a probar, pasa que tengo que seleccionar demasiados campos si no utilizo el *
  #4 (permalink)  
Antiguo 15/09/2005, 11:50
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
bueno este problema es un misterio, nose como lo solucione pero use esa consulta por 2 meses y me anduvo. ahora de nuevo tengo este problema, tengo la misma consulta y los comentarios que cuenta me los multiplica por 3 -_-, la misma consulta que me anduvo siempre y de repente me deja de andar de un dia para el otro???

la consulta es esta:

Código PHP:
$sql "SELECT a.*, AVG(b.pts) AS promedio, COUNT(c.id_rep) AS cant_com FROM ".tablaReplays." a LEFT JOIN ".tablaRatingReplays." b ON b.id_rep = a.id LEFT JOIN ".tablaComentariosReplays." c ON a.id = c.id_rep WHERE a.top = 1 GROUP BY a.id ORDER BY a.id DESC LIMIT ".cantUserReps;



// asfsfasgasg 
alguien sabe que pasa???
__________________
Internet Explorer SuckS
Download FireFox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:29.