Buenos días,
Tengo una consulta que me está matando, expongo:
Cita: Select t.titulo, t.fecha, t.lecturas, u.usuario, t.url, t.ultrespuesta, t.bloqueado, t.importante, Count(m.idmensaje) As Msg, l.idusuario From (((foro_temas t Inner Join usuarios u ON t.idusuario=u.idusuario) Left Join foro_mensajes m ON t.idtema=m.idtema) Left Join foro_lecturas l ON t.idtema=l.idtema And l.idusuario=3) Where t.importante='No' And t.idforo=2 Group By t.idtema Order By t.importante DESC, t.ultrespuesta DESC;
Explico como va, tengo estas tablas:
Código PHP:
Tabla foro_temas:
titulo --> char
fecha --> datetime
lecturas --> int
url --> char
ultrespuesta --> datetime
bloqueado e importante --> enum
Código PHP:
Tabla foro_mensajes (Se almacenan las respuestas a los temas):
idmensaje --> int
titulo --> char
contenido --> text
Código PHP:
Tabla usuarios:
usuario --> char
Código PHP:
Tabla foro_lecturas (sirve para saber los mensajes que cada usuario ha leído):
idusuario --> int
idtema --> int
Lo que quiero es sacar en una misma consulta:
- El número de respuestas que ha tenido cada tema.
- Si el usuario actual no ha leído el tema, (l.idusuario) tiene que ser Null, creo que eso lo hace bien.
Lo que pasa es que no me da correctamente el número de respuestas, cada vez que entro al mensaje me salen más respuestas...
¿Qué está mal en la consulta?
Muchas gracias!