mysql dejó unirse y consultar con la cláusula where in que muestra solo 1 fila

Como estoy haciendo un foro simple con el toque de twitter como seguidor y siguiendo, tengo tablas de seguimiento.

users

 1. id
 2. name

questions

 1. id
 2. description
 3. user_id//foreign key of users.id

answers

 1. id
 2. question_id//foreign key of questions.id
 3. description
 4. user_id//foreign key of users.id

follow

 1. from_user(which user)//foreign key of users.id
 2. to_user(following to which user)//foreign key of users.id

mi consulta es la siguiente

SELECT users.id, users.name, count(DISTINCT questions.id), count(answers questions.id), count(follow1.from_user), count(follow2.to_user) from users LEFT JOIN questions ON users.id = questions.user_id LEFT JOIN answers ON users.id = answers.user_id LEFT JOIN follow as follow1 ON users.id = follow1.from_user LEFT JOIN follow as follow2 ON users.id = follow2.to_user WHERE users.id = 1

Esto funciona bien y da el resultado adecuado.

Pero cuando con la misma consulta pongo la cláusula de WHERE IN de la siguiente manera

SELECT users.id, users.name, count(DISTINCT questions.id), count(answers questions.id), count(follow1.from_user), count(follow2.to_user) from users LEFT JOIN questions ON users.id = questions.user_id LEFT JOIN answers ON users.id = answers.user_id LEFT JOIN follow as follow1 ON users.id = follow1.from_user LEFT JOIN follow as follow2 ON users.id = follow2.to_user WHERE users.id IN (1, 3)

Muestra el registro solo para el ID de usuario 1. No para el 3. Pero hablar de la consulta anterior funciona bien para ambos. id's y mostrar los registros correspondientes.

preguntado el 02 de julio de 12 a las 13:07

1 Respuestas

Eso es extraño, solo puedo sugerir usar GROUP BY users.id para que mysql no combine los recuentos () en todos los registros. Espero que de alguna manera ayude.

Respondido 02 Jul 12, 13:07

oh mi mi mi..! esto es realmente algo peor. porque hace aproximadamente 1 año lo sabía y ahora lo olvidé. No sé qué decirme. De todos modos muchas gracias. Estoy realmente decepcionado conmigo mismo. - kuku

:D ojos frescos (ish) mirando un problema es todo lo que es. - Signo de interrogación

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.